码迷,mamicode.com
首页 > 编程语言 > 详细

几种排序算法的认识

时间:2015-03-13 18:22:50      阅读:167      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!