No.1.2 排序 - 冒泡排序
冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。时间复杂度O(N **2)
/* 同一个 project 内,只能有一个 main function*/
EG1. 输入一列数字,并以从大到小的顺序输出
#include
void main()
{
int ll[100], i, j, t, n; //不确定列表长度,先申请100个
scanf("%d", &n); // scanf 中,默认以空格断字,无需再加空格
for (i=0; i
for (i=0; i
for(j=0; j
if (ll[j] < ll[j+1])
{
t=ll[j]; ll[j]=ll[j+1]; ll[j+1]=t;
}
}
}
for (i=0; i
//return 0;
}
EG2. 以学生的分数为准进行排序
struct student //创建一个结构体来存储学生姓名和分数,注意 char score
{
char name[20];
char score;
};
int main(){
struct student a[100], t; // t == student
int i,j,n;
scanf("%d", &n);
for (i=0; i
for (i=0; i
t = a[j]; a[j]=a[j+1]; a[j+1]=t; // t 也是结构体,可以直接作为学生的中间变量
};
}
}
for (i=0; i
return 0;
}