黑马程序员技术交流社区

标题: 有那位大神看看我的选择排序为啥不行n呢 [打印本页]

作者: fersh    时间: 2015-8-8 21:45
标题: 有那位大神看看我的选择排序为啥不行n呢
# include <stdio.h>
//把一个数组按从大到小的顺序排序
//按照选择排序的方法实现
void arrChoose(int *arr,int n){
    int arrMax,temp,k;
    for (int i=0; i<n-1; i++) {
             arrMax=arr[i];
        for (int j=i+1;j<n;j++){
            if (arrMax<arr[j]){
                arrMax=arr[j];
                k=j;
            }
        }
        temp=arr[k];
        arr[k]=arr[i];
        arr[i]=temp;
    }
    printf("数组重新排序后\n");
    for (int i=0; i<n; i++) {
        printf("a[%d]=%d\n",i,arr[i]);
    }
}
int main (){
    int arr[]={1,14,35,3,46,5,6,89,33,67,36};
    int m=sizeof(arr)/sizeof(int);
    printf("数组排序前\n");
    for (int i=0; i<m; i++) {
        printf("a[%d]=%d\n",i,arr[i]);
    }
    arrChoose(arr,m);
    return 0;
}


作者: 飓风少年    时间: 2015-8-8 21:49
有点难,看不懂,你思维很复杂
作者: Esther33    时间: 2015-8-8 22:13
选择排序的话,应该是角标的问题
作者: hejunxin    时间: 2015-8-8 22:16
用了指针思想啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2