A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区



main () {
    int arry1[]={9,4,2,4,5,6,4,3,2,4,23,45};
    int a=0;
    for (int i=0; i<12; i++) {
      
        for (int j=1+i ; j<12;j++ ) {
            
            if(arry1[i ]<arry1[j]){
                a =arry1[i];
                arry1[i]=arry1[j];
                arry1[j]=a ;
            }
            

            
        }
        printf("%d\n",arry1[i]);
    }
}

47 个回复

正序浏览
选择排序~~
回复 使用道具 举报
cxk 中级黑马 2016-1-4 14:35:47
46#
选择排序
回复 使用道具 举报
上面的代码确实是冒泡排序 下面打印出来的时候 还得用一个for循环 这样最终结果才是冒泡排序后的结果
回复 使用道具 举报
选择排序吧
回复 使用道具 举报
、Z 中级黑马 2015-12-1 22:47:59
43#
不想说什么。就是正常化的选择排序把,思路理清楚了都差不多。找到自己最会用的就好了
回复 使用道具 举报
冒泡排序
回复 使用道具 举报
本帖最后由 那些年的小马哥 于 2015-12-1 14:04 编辑

由于没有选择出一个元素,这是冒泡排序 a =arry1;                arry1=arry1[j];                 
arry1[j]=a ;

这三行代码只是完成了元素交换


回复 使用道具 举报
谢谢分享
回复 使用道具 举报
选择排序         
回复 使用道具 举报
junjunzhang 发表于 2015-11-28 07:53
冒泡排序和选择排序都是通过双重for循环来实现。两者不同关键在于交换的依据不同。

冒泡排序的思想是大数 ...

楼主精辟
回复 使用道具 举报
这肯定不是冒泡排序,选择排序我还没学,所以我也不知道
回复 使用道具 举报
你确定你这不是水贴》?必须选择排序啊
回复 使用道具 举报
看内循环的做法, 应该是选择排序算法,如果我错了请指出,3Q
回复 使用道具 举报
冒泡算法啊
回复 使用道具 举报
董棁 中级黑马 2015-11-28 08:09:36
33#
选择排序吧
回复 使用道具 举报
忘了给结论了,此处为选择排序
回复 使用道具 举报
冒泡排序和选择排序都是通过双重for循环来实现。两者不同关键在于交换的依据不同。

冒泡排序的思想是大数下沉,小数上浮,通过比较相邻元素大小(即:if (arr[j] > arr[j+1])判断条件)来实现,即
void maoPao(int arr[],int len){  //定义int类型数组arr、数组长度len
   
    int temp;  //临时变量
   
//    双重循环

    for (int i = 0; i < len; i++) {
        
        for (int j = 0; j < len - 1 - i; j++) {
            
            if (arr[j] > arr[j+1]){  //比较相邻元素大小(交换依据)
            
                temp = arr[j];
               
                arr[j] = arr[j+1];
               
                arr[j+1] = temp;
            
            }
        }
    }

选择排序的思想史拿一个元素跟每个尚未排序的元素相比较(即: if (arr[i] > arr[j])为判断条件),从而实现排序。即:
void selectSort(int arr[],int len){
   
    int temp;

//写双重循环
   
    for (int i = 0; i < 10; i++) {
        
        for (int j = i+1; j < len; j++) {
            
            if (arr[i] > arr[j]){  //交换的依据
            
                temp = arr[i];
               
                arr[i] = arr[j];
               
                arr[j] = temp;
            
            }
        }
    }
}
回复 使用道具 举报
这是选择排序
回复 使用道具 举报
iOS-lye 来自手机 中级黑马 2015-11-28 00:55:15
29#
这个是选择来自: iPhone客户端
回复 使用道具 举报
这是选择排序
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马