古法手打排序,以作备份,未完全验证可用性,只对代码里已有数据负责。
#include <stdio.h>
int main(){
int arr[5]={2,1,8,5,6};
// 5 = $length
// LETS RANK
for(int i=0;i!=5;i++){
int bench;
bench = arr[i];
int temp;
int j = i+1;
for(;bench>=arr[j];j++){
if(j>=5){break;}
// 5 = $length
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
i++;
}
}
// appli
printf("%d %d %d %d %d",arr[0],arr[1],arr[2],arr[3],arr[4]);
}
Debug运行器和断点真好玩。
12/26/2023更新:
上面写的是错的,面向五个特定举例编程属于。
int sort(int arr[], int n){
int i, j, temp;
for(i=0; i<n; i++){
for(j=0; j<n-i-1; j++){
if(arr[j]>arr[j+1]){
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
这个对了。
注意指针的应用!必要的时候把输入函数的数组改成输入数组指针。