首页 > 编程语言 > 详细

几种排序算法的认识

时间:2015-03-13 18:21:29      阅读:420      评论:0      收藏:0      [点我收藏+]

所有排序算法总结:冒泡排序,快速排序,插入排序,归并排序,堆排序,shell排序,选择排序

技术分享

1. 冒泡排序

  很简单的排序,外层循环是n-1趟,内层循环是n-1次两两比较。主要思路:从底部往上冒泡,通过无序区中相邻记录关键字间的比较和位置的交换,使关键字最小的记录如气泡一般逐渐往上“漂浮”直至“水面”。

就是在每一趟内层循环完毕之后,最小的那个值会像气泡一样上浮到第一个位置(从小到大排序),这样循环执行n-1趟,每一趟都是从最后一个值开始进行两两比较,把每趟中的最小的值往上浮。(注意内层循环的终止条件是j>i,因为i之前是已经放置好的有序的最小值

代码:

 

static void bubblesort(int* A,int n){
    if(A==NULL) return;
    for (int i=0;i<n-1;++i)
    {
        for (int j=n-1;j>i;--j)
        {
            if(A[j]<A[j-1]){int temp=A[j];A[j]=A[j-1];A[j-1]=temp;}
        }
        cout<<""<<i+1<<"趟冒泡排序:"<<endl;
        for (int i=0;i<n;++i)
        {
            cout<<A[i]<<" ";
        }
        cout<<endl;
    }
}

 

几种排序算法的认识

原文:http://www.cnblogs.com/fightformylife/p/4335390.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!