数组排序算法

来源:互联网 发布:ysl 口红 知乎 编辑:程序博客网 时间:2024/06/05 19:41

1.排序算法概述:

0在程序设计中,经常需要将一组数列进行排序,这样更加方便统计与查询

2.数组排序基本算法种类:

冒泡排序,选择排序,快速排序

3.冒泡排序算法:

冒泡排序的基本思想

冒泡排序的基本思想是对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移动到数组后面。

算法实现

冒泡算法由双层循环实现,其中外层循环用于控制排序轮数,一般为要排序的数组长度减1次,因为最后一次循环只剩下一个数组元素不需要对比,同时数组已经完成排序了。内层循环主要用于对比数组中每个临近元素的大小,以确定是否交换位置,对比和交换次数随排序轮数而减少。

相关代码

   inta[]={20,16,9,3,9,6,1,8};//创建一个数组

       for (inti= 1; i< a.length;i++) {

           //比较相邻两个元素,较大的数往后冒泡

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

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

              intzhong;//把第一个元素值保存到临时变量中

              zhong=a[j];

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

              a[j+1]=9zhong;

              }

           }

       }

           //然后遍历排完序的数组输出结果

           for(intres:a){

              System.out.print(">>>"+res);

       }  

直接选择排序

基本思想

直接选择排序的基本思想是将指定排序位置与其他数字元素分别对比,如果满足条件就交换元素值(指定位置的元素互换)

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

            for (intj = i+1; j < a.length; j++) {

                if(a[i]>a[j]){

                    intt=a[i];

                    a[i]=a[j];

                    a[j]=t;

                }

            }

        }

        for(inti=0;i<a.length;i++){

            System.out.println(a[i]);

        }

原创粉丝点击