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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 向日葵的微笑 中级黑马   /  2015-10-29 22:25  /  1335 人查看  /  18 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

????给数组arr[6]={1,2,4,3,8,5}从大到小排序
一、选择排序
int main(){
                 int arr[6]={1,2,4,3,8,5};
  
                           for(int i=0;i<5;i++){
                                       int tempIndexMax=i;

                                               for(int j=i+1;j<6;j++){

                                                               if(arr[j]>arr[tempIndexMax]){
                                                                               tempIndexMax=j;
                                                               }
                                                }
                                                                         int temp=arr[i];
                                                               arr[i]=arr[tempIndexMax];
                                                              arr[tempIndexMax]=temp;
                                                     }

                                for(int k=0;k<6;k++){
                                                printf("%d\t",arr[k]);
                                }
                                  return 0;
                        }


二、冒泡排序
                  int main(){
                       int arr[6]={1,2,4,3,8,5};
                          
                           for(int i=0;i<6;i++){
        
                                           for(int j=0;j<5-i;j++){
                                                      
                                                           if(arr[j]<arr[j+1]){
                                                                       int temp=arr[j];
                                                                       arr[j]=arr[j+1];
                                                                       arr[j+1]=temp;
                                                           }
                                            }
                                }
   
                                                      for(int k=0;k<6;k++){
                                                                printf("%d\t",arr[k]);
                                                   }
                                        return 0;
                            }

评分

参与人数 4黑马币 +35 收起 理由
liuch111 + 10 赞一个!
aichaobao + 10 赞一个!
cuifei + 10
热带鱼 + 5 很给力!赞一个

查看全部评分

18 个回复

倒序浏览
学习了,顺便问一下楼主你技术分和黑马币怎么上去的
回复 使用道具 举报
同桌加油   
回复 使用道具 举报
加油美女!!
回复 使用道具 举报
前排顶~~~~~~
回复 使用道具 举报
加油加油加油
回复 使用道具 举报
hm_pt 中级黑马 2015-10-29 23:18:23
7#
这个排序什么时候用的多呢
回复 使用道具 举报
加油加油
回复 使用道具 举报
张水 中级黑马 2015-10-29 23:32:43
9#
很好呀  我们也在学习
回复 使用道具 举报
aidan 中级黑马 2015-10-30 00:00:25
10#
加油加油
回复 使用道具 举报
cuifei 中级黑马 2015-10-30 12:41:27
11#
赞赞赞赞赞赞赞,真好.
回复 使用道具 举报
66666666666666666
回复 使用道具 举报
加油  ..  加油  
回复 使用道具 举报
很好,加油。
回复 使用道具 举报
第一个选择排序中  第一个for循环的条件最好写成i<6-1  第二个for循环条件其实也是i<6-1 .而不是6.   下标法不推荐使用,直接交换即可,原因是会扰乱记忆.   最后注释呢  注释呢  注释呢  重要的说三遍
回复 使用道具 举报
可以可以.哈.
回复 使用道具 举报
写的不错,有时间的话也可以看一下快速排序^^
回复 使用道具 举报
女程序猿  
回复 使用道具 举报
原理是什么呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马