Java面试必备:排序算法之冒泡、选择排序

Opal ·
更新时间:2024-09-20
· 965 次阅读

  前言:作为面试中极为重要的数据结构算法题,排序总是不可避免,然而这些东西容易遗忘,我们曾经无数次的把他们烂记于胸,但无奈,在现实中,用的次数却并不多,久而久之,这些排序的思想虽然还在心中,但如何实现却有点泯然了,如此,也为了即将来的新的面试,再次收拾好心情,好好的整理下这些排序算法,并用我们熟悉的编程语言去实现它,无疑能够在很大程度上加深我们对其的理解,在这里暂且仅用java语言进行实现,C亦或者C++基本上是雷同,废话不多说,先贴出刚刚实现的冒泡排序以及选择排序。。。   冒泡排序和选择排序我不分开写了,人比较懒,放一个代码块了吧。   package com.Arithmetic.chapter1;   import java.util.Random;   /**   *   * @项目名称:Arithmetic   * @类名称:Sort   * @创建人:[czc]    * @创建时间:2016-10-20下午06:30:55   */   public class Sort {   public static void main(String[] args) {   Random random = new Random();   int [] sort = new int[10];   for (int i = 0; i < sort.length; i++) {   sort[i] = random.nextInt(50);   }   System.out.println("排序前的数组是:");   for(int i:sort){   System.out.print(i+" ");   }   //bubbleSort(sort);   selectSort(sort);   System.out.println();   System.out.println("排序后的数组是:");   for (int i = 0; i < sort.length; i++) {   System.out.print(sort[i]+" ");   }   }   /**   * 冒泡排序   * 依次比较相邻的两个数,将小数放在前面,大数放在后面   * @param sort   */   public static void bubbleSort(int [] sort){   for(int i = 1;i<=sort.length;i++){   for (int j = 0; j < sort.length-i; j++) {   if (sort[j]>sort[j+1]) {   int temp = sort[j+1];   sort[j+1] = sort[j];   sort[j] = temp;   }   }   }   }   /**   * 选择排序   * 每趟从待排序的数据元素中选出小或大的一元素,放在已排好序的数列的后,直到全部待排序的数据元素排完.   * @param sort   */   public static void selectSort(int [] sort){   for (int i = 0; i < sort.length-1; i++) {   for (int j = i+1; j < sort.length; j++) {   if (sort[j]<sort[i]) {   int temp = sort[i];   sort[i] = sort[j];   sort[j] = temp;   }   }   }   }     }   后,关于这些算法,过多不做解释,大家有不懂的可以积极提出来,我觉得一般是能看懂的,有写的不当之处也请大家一起指正,共同学习!



JAVA 选择排序 选择 java面试 排序算法 算法 排序

需要 登录 后方可回复, 如果你还没有账号请 注册新账号