首页 > 其他分享 >冒泡排序

冒泡排序

时间:2023-12-02 15:34:02浏览次数:35  
标签:typedef struct int 冒泡排序 Student include

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct{
    int NO;
    int Age;
    char Name[50];
}Student;

typedef struct{
    int StudentCount; 
    Student *data;
}Sqlist;

void bubbleSort(Sqlist &L)
{
    int i,j;
    Student p;
    for(i=0;i<L.StudentCount;i++)
    {
        for(j=0;j<L.StudentCount-1;j++)
        {
            if(L.data[j].NO<L.data[j+1].NO)
            {
                p=L.data[j];
                L.data[j]=L.data[j+1];
                L.data[j+1]=p;
            }
        }
    }
}

int main()
{
    Sqlist L;
    L.StudentCount=4;
    L.data = (Student *)malloc(L.StudentCount * sizeof(Student));
    L.data[0].Age=20;
    strcpy(L.data[0].Name,"zhangsan");
    L.data[0].NO=1115;
    L.data[1].Age=20;
    strcpy(L.data[1].Name,"lisi");
    L.data[1].NO=1112;
    L.data[2].Age=20;
    strcpy(L.data[2].Name,"wanger");
    L.data[2].NO=1113;
    L.data[3].Age=20;
    strcpy(L.data[3].Name,"mazi");
    L.data[3].NO=1114;
    
    bubbleSort(L); 
    for (int i = 0; i < L.StudentCount; i++) {
        printf("NO: %d, Age: %d, Name: %s\n", L.data[i].NO, L.data[i].Age, L.data[i].Name);
    }
    return 0;
}

 

标签:typedef,struct,int,冒泡排序,Student,include
From: https://www.cnblogs.com/simpleset/p/17871665.html

相关文章

  • 详解十大经典排序算法(一):冒泡排序
    算法原理冒泡排序通过多次遍历数组,比较相邻元素并交换,逐步将最大值(或最小值)"冒泡"到数组的一端。算法描述冒泡排序是一种简单的排序算法,它重复地遍历待排序的元素,比较相邻的两个元素,并根据需要交换它们的位置,直到整个序列排序完成。冒泡排序的基本思想是通过相邻元素的比较和交换,将......
  • 冒泡排序
    一、冒泡排序介绍冒泡排序一般来说是我们最早接触到的排序算法,它的核心思想就是“比较大小,交换数字”,时间复杂度为O(n2)。它的实现过程也非常的简单,只需要掌握循环以及判断语句的使用就可以实现。二、实现以及详解先展示一下代码://定义一个arr数组并赋值intarr[9]......
  • 冒泡排序!!!!!
    packagearray;importjava.util.Arrays;publicclassArrayDemo07{publicstaticvoidmain(String[]args){int[]a={1,4,5,6,72,2,2,2,25,6,7};int[]sort=sort(a);//调用完我们自己写的排序方法以后,返回一个排序后的数组System.......
  • 冒泡排序:要比较(二层循环)n*(n-1)(第一层循环)次,最大的在最后,最次大的在倒数第二,
    privatestatic voidsort(int[]w,intl,intr){//冒泡排序要比较n二层循环*(n-1)次,第一层循环      for(inti=r;i>l;i--){        for(intj=l;j<i;j++){          if(w[j]>w[j+1])          { ......
  • 排序算法之冒泡排序优化2
    一:概述对于冒泡排序的优化1中,右边的许多元素已经是有序的了,可是每一轮还是白白地比较多次了。这个问题地关键点在于对数列有序区地界定。按照现有的逻辑,有序区的长度和排序的轮数是相等的。例如第1轮排序过后的有序区长度是1,第2轮排序过后的有序长度是2....实际上,数列真正的有序区......
  • 数组作为函数参数(冒泡排序)
    往往我们在导代码的时候,会将数组作为参数传个函数,比如我们要实现一个冒泡排序:函数讲一个整形数组进行排序(主要讲算法思想)#include<stdio.h>voidbubble_sort(intarr[],intsz){inti=0;//确认冒泡函数的趟数//intsz=sizeof(arr)/sizeof(arr[0]);//注:这里不能在void函......
  • 排序算法之冒泡排序优化1
    一:概述原始的数列{4,8,6,3,9,2,1,7},执行至第6步和第7步时,数列状态如下:很明显的可以看出,经过第6轮排序之后,整个数列已然是有序的了。可是排序算法依然是继续执行第7轮排序。在这种情况下,如果能判断出数列已经有序,并作出标记,那么剩下的几轮就不必执行了,可以提前结束。二:具体代码优化的......
  • 排序算法之冒泡排序1
    一概述在生活中,我们离不开排序。例如在学校站队时,会按照身高顺序进行排队。每一个月考或者期末的成绩都会按照成绩排名次。在编程学习中,我们也会经常遇到排序的问题。这种排序的场景非常多。例如在开发一个学生管理系统时,需要按照学号的顺序从小到大去排列。当开发一个电商平台时,需......
  • 定义二维数组,冒泡排序法
    //#define_CRT_SECURE_NO_WARNINGS1////#include<stdio.h>//#include<stdlib.h>//#include<string.h>//#include<math.h>//voidbubble_sort(intarr[],intsz)//{// inti=0;// for(i=0;i<sz-1;i++)// {// intj=0......
  • 冒泡排序与选择排序
    冒泡排序functionsort(arr){vartemp;for(vari=0;i<arr.length-1;i++){for(varj=0;j<arr.length-1-i;j++){if(arr[j]>arr[j+1]){temp=arr[j+1];arr[j+1]=......