思路:假设有n个数,想要将这n个数从小到大排序。那么将相邻两个数进行比较,前一个数大,那就交换,后一个大,不变,第一次遍历后,进行了n-1次比较,这时,最大值应该到了末尾。所以第二次遍历次数比第一次少1,进行n-2次比较后,第二大的数应该到了倒数第二位的位置。以此类推,进行比较。
#include <stdio.h>
int main(){
int array[] = {56,83,15,26,29,93,29};
int size = sizeof(array)/sizeof(array[0]);
int i;
int j;
int temp;
for(i = 0;i < size - 1;i++){
for(j = 1;j < size - i;j++){
if(array[j] < array[j-1]){
temp = array[j];
array[j] = array[j-1];
array[j-1] = temp;
}
}
}
int s ;
for(s = 0;s < size;s++ ){
printf("%i ",array[s]);
}
}