美文网首页
冒泡排序和选择排序

冒泡排序和选择排序

作者: petal周 | 来源:发表于2017-01-12 14:43 被阅读0次

    这是在学校上C语言ppt课件上讲到的,过程清晰很容易理解

    一 冒泡排序过程

    1、比较第一个数与第二个数,若a[0]>a[1],则交换;然后比较第二个数与第三个数;一次类推,直至第n-1个数和第n个数比较为止------第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上。

    2、对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置。

    3、重复上述过程,共经过n-1趟冒泡排序后,排序结束。

    算法

    假设存在一个int[] a

    for(int i=0; i<a.length-1; i++) {

       for(int j=0; j<a.length-1-i; j++) {

           if(a[j]>a[j+1]) {

               int t = a[j];

               a[j] = a[j+1];

               a[j+1] = t;

           }

       }

    }

    第一层循环,决定需要进行n-1趟排序。

    第二层循环,决定每趟排序的开始和结束位置。

    每结束一趟排序后,都将一个此次最大数据安置在此次比较数据的最后位置。

    二 选择排序过程

    1、首先通过n-1次比较,从n个数中找出最小的,将它第一个数交换----第一趟选择排序,结果最小的数被安置在第一个元素位置上。

    2、再通过n-2次比较,从剩余的n-1个数中找出关键字次小的记录,将它与第二个数交换----第二趟选择排序。

    3、重复上述过程,共经过n-1趟排序后,排序结束。

    相关文章

      网友评论

          本文标题:冒泡排序和选择排序

          本文链接:https://www.haomeiwen.com/subject/fwwdbttx.html