A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 大蓝鲸小蟀锅 于 2020-4-10 15:31 编辑

排序算法的介绍和分析

                                                        德艺双馨杨老师           

我们介绍下和数组常见的算法 ---排序
我们下面要了解两种比较简单的数组排序算法  还要学会程序编写的方法也就是所谓的归纳写法
循环和数组单独其实并不难 但是把它们放在一起难度就会增加很多
下面我们讲解第一个排序---冒泡排序


public static void main(String[] args) {
          //整型数组中数组请你按照从小到大的顺序 从新排列一下  
         int[] data={4,2,5,6,1}; //它从小到大应该是 {1,2,4,5,6}
         //比如说我们经常涉及到的成绩排序   数据排序会涉及到一些排序算法,你用什么办法  先干什么 后干什么 数组就拍好顺序了
         //排序算法是多种多样的  今天我们要讲的是所有的排序算法中最慢的两种  如果讲快的必然复杂度会高  我们从简单入手
         //1 冒泡排序  : 在数组中让两个相邻的元素之间比较大小 比如a[1]和a[2]比较 如果 a[1]比a[2]小不动,
         //            如果a[1]比a[2]大 就交换位置
         int n=data.length;
         for(int i=1;i<n;i++){//循环4次  n-1;  问句
                 for(int j=0;j<(n-i);j++){
                         if(data[j]>data[j+1]){//需要交换位置 这怎么去做?  借助中间变量。
                                 int temp;
                                 temp=data[j];
                                 data[j]=data[j+1];
                                 data[j+1]=temp;
                         }
                 }
         }
         for (int i = 0; i < data.length; i++) {
                System.out.print(data+"  ");
         }
  }

讲解第二个排序---选择排序

public static void main(String[] args) {
                int[] a={2,4,1,3};
                for (int i = 0; i < (a.length-1); i++) {
                        for(int j=(i+1);j<a.length;j++){
                                if(a>a[j]){
                                        int t;
                                        t=a;
                                        a=a[j];
                                        a[j]=t;
                                }
                        }
                }
                for (int i = 0; i < a.length; i++) {
                        System.out.print(a+" ");
                }
        }
总结:当我们在开发中去写排序的时候会用这两个算法吗  
        Arrays.sort(); 快速排序法         
所以我们讲这两个算法的目的是 锻炼大家的归纳能力,第二点 作为一个程序员 一个软件方面的从业人员 总是应该应该了解一些排序算法 这是一个常识性的东西。这两个算法 极有可能在你们将来出去面试的笔试题中出现。



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马