算法二:冒泡排序
冒泡排序是最被人熟知的排序算法。什么是冒泡排序?冒泡排序的特点是好邻居好说话,核心思想是一个每次比较两个相邻的元素,如果他们的大小顺序反了,就把他们交换过来。N个数就有N-1轮,每一轮把一个数字放在它正确的位置上。冒泡排序时间复杂度是O(N2)。C语言代码如下:
#include <stdio.h>
int main(){
int i, j, num, score, tmp;
printf("How many?\n");
scanf("%d", &num);
int rank[num];
for(i=0; i<num; i++){
printf("Enter Score:\n");
scanf("%d", &score);
//我们的试卷是0-100分的哦
if(score<0 || score > 100){
printf("Error");
return 1;
}
rank[i] = score;
}
printf("Rank:\n");
//冒泡排序
for(i=0; i<num-1; i++){
for(j=0; j<num-i; j++){
if(rank[j] > rank[j+1]){
tmp = rank[j];
rank[j] = rank[j+1];
rank[j+1] = tmp;
}
}
}
for(i=0; i<num; i++){
printf("%d,", rank[i]);
}
return 0;
}