为了易用,我编写排序函数,这和直接在主调函数中用是差不多的。
我认为选择排序法更好理解!请注意 i 和 j ,在写代码时别弄错了,不然很难找到错误!
冒泡排序法
void sort(int * ar,int k) //ar指向数组名,k是元素个数
{
int i,j,temp;
; i < k - ; i++){ //比较k-1趟就可以了
; j < k - i -; j++){
]){
temp = ar[j];
ar[j] = ar[j + ];
ar[j + ] = temp;
}
}
}
}
//第二个循环解释:每趟排序后,ar[k - i - 1]就确定了,也就是j最大时,ar[j + 1]确定了。
选择排序法
void sort(int * ar,int k) //ar指向数组名,k是元素个数
{
int i,j,temp;
; i < k - ; i++){ //只要和k-1个元素比较就可以了
; j < k; j++){
if(ar[i] > ar[j])
{
temp = ar[i];
ar[i] = ar[j];
ar[j] = temp;
}
}
}
}
//第二个循环中j = i + 1是为了让ar[j]和ar[i]进行比较,即ar[i + 1]和ar[i],对于第一个循环,如果没有j < k - 1的话,数组就会越界,这需要理解。
python中对列表元素大小排序(冒泡排序法和选择排序法)<