黑马程序员技术交流社区

标题: 排序方法的问题 [打印本页]

作者: stone24    时间: 2014-3-24 21:27
标题: 排序方法的问题
本帖最后由 stone24 于 2014-3-26 18:36 编辑

排序都有哪些方法,哪一种效率高,都怎么运用啊!!求支招
作者: luoyilan222    时间: 2014-3-24 21:56
//        主要排序法有:
//        一、冒泡(Bubble)排序——相邻交换
//        二、选择排序——每次最小/大排在相应的位置
//        三、插入排序——将下一个插入已排好的序列中
//        四、壳(Shell)排序——缩小增量
//        五、归并排序
//        六、快速排序
//        七、堆排序
//        八、拓扑排序
//        九、锦标赛排序
//        十、基数排序

       
//选择排序   我在这里就选择一种相对简单较高的选择排序把
//递归排序效率是很高的 不过这很难,初学者可以先把其他的学会,如果还有时间可以去学习一下
//        ----------------------------------Code 从小到大排序n个数--------------------------------
        public void SelectSortArray()
        {
            int min_index;
            for(int i=0;i<n-1;i++)
            {
                 min_index=i;
                 for(int j=i+1;j<n;j++)//每次扫描选择最小项
                    if(arr[j]<arr[min_index])  min_index=j;
                 if(min_index!=i)//找到最小项交换,即将这一项移到列表中的正确位置
                 {
                     int temp;
                     temp=arr[i]; arr[i]=arr[min_index]; arr[min_index]=temp;
        }
        }
        }

作者: stone24    时间: 2014-3-25 11:14
luoyilan222 发表于 2014-3-24 21:56
//        主要排序法有:
//        一、冒泡(Bubble)排序——相邻交换
//        二、选择排序——每次最小/大排在相应的位 ...

哦,谢啦




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