Java基础面试题3(排序算法)
来源:互联网 发布:北京市妇幼保健网络信息系统 编辑:程序博客网 时间:2024/05/16 13:39
1、冒泡排序:和快速排序一样属于交换排序的一种
public class Sort{ public void generatArray(int [] array){ Random random = new Random(); for (int i=0;i<array.length;i++) { array[i]=random.nextInt(100); } for (int a : array) { System.out.print(a+","); } System.out.println(); } public void bubbleSort(int [] array){ int tmp; for(int i=0;i<array.length;i++){ for(int j=0;j<array.length-i-1;j++){ if(array[j]>array[j+1]){ tmp=array[j]; array[j]=array[j+1]; array[j+1]=tmp; } } } for (int a : array) { System.out.print(a+","); } System.out.println(); } public static void main(String args[]){ Sort sort = new Sort(); int array[]=new int[10]; sort.generatArray(array); sort.bubbleSort(array); }}
2、快速排序:是对冒泡排序的改进
public class Sort{ public void generatArray(int [] array){ Random random = new Random(); for (int i=0;i<array.length;i++) { array[i]=random.nextInt(100); } for (int a : array) { System.out.print(a+","); } System.out.println(); } public void quickSort(int [] array,int l,int r){ if(l>=r) return; int k = array[l]; int i =l,j=r; while(i<j){ while(i<j && k<array[j]) j--; if(i<j){ array[i]=array[j]; i++; } while(i<j&&k>array[i]) i++; if(i<j){ array[j]=array[i]; j--; } } array[i]=k; quickSort(array,l,i-1); quickSort(array,i+1,r); } public static void main(String args[]){ Sort sort = new Sort(); int array[]=new int[10]; sort.generatArray(array); sort.quickSort(array, 0, array.length-1); for (int a : array) { System.out.print(a+","); } System.out.println(); }}
3、插入排序:
public class Sort{ public void insertSort(int [] array){ for(int i=1;i<array.length;i++){ int tmp = array[i]; int j; for(j=i;j>0 && array[j-1]>tmp;j--) array[j]=array[j-1]; array[j]=tmp; } for (int a : array) { System.out.print(a+","); } System.out.println(); } public static void main(String args[]){ Sort sort = new Sort(); int array[]=new int[10]; sort.generatArray(array); sort.insertSort(array); }}
0 0
- Java基础面试题3(排序算法)
- java基础面试题:冒泡排序
- Java中的面试题 [1] --- Java基础、集合、排序、算法、ConcurrentHashMap等
- 排序算法面试题
- java面试题基础3
- JAVA基础面试题3
- JAVA基础面试题3
- java面试题基础3
- java基础面试题3
- Java基础面试题
- java基础面试题
- Java基础面试题
- java基础面试题
- java基础面试题
- java基础面试题
- Java基础面试题
- Java基础面试题
- JAVA基础面试题
- CodeForces 405C Unusual Product
- 程序员修炼之路
- linux 管道符号 | ,以及&& ||等等特殊符号笔记
- VLC开发资源收集
- 欧几里得算法+拓展欧几里得算法
- Java基础面试题3(排序算法)
- 超酷的Unix终端/控制台工具小集合
- QQ在线客服代码
- 怎样花两年时间去面试一个人
- 事件接收器的最佳做法
- 基于感知哈希算法的视觉目标跟踪
- Razor
- Spring 面向切面开发(AOP)
- HDU解题报告——1027