前言:
眼前你们对“java面试题排序算法”可能比较重视,你们都想要分析一些“java面试题排序算法”的相关资讯。那么小编同时在网上网罗了一些关于“java面试题排序算法””的相关内容,希望姐妹们能喜欢,你们快快来了解一下吧!在面试高级Java时,算法问题避免不了,简单排序算法就经常会被问到,而且有些公司还需要手写相关代码,比如顺丰科技,尚德机构等知名企业。
下面就来回顾一下简单排序算法:
一、冒泡排序法:
public static void BubbleSort(int[] arr) { int temp;//定义一个临时变量 for(int i=0;i<arr.length-1;i++){//冒泡趟数 for(int j=0;j<arr.length-i-1;j++){ if(arr[j+1]<arr[j]){ temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } }}
二、选择排序
简单选择排序的基本思想:给定数组:int[] arr={里面n个数据};第1趟排序,在待排序数据arr[1]~arr[n]中选出最小的数据,将它与arrr[1]交换;第2趟,在待排序数据arr[2]~arr[n]中选出最小的数据,将它与r[2]交换;以此类推,第i趟在待排序数据arr[i]~arr[n]中选出最小的数据,将它与r[i]交换,直到全部排序完成。
public static void sort(long[] arr) { int k = 0; long tmp = 0; for(int i = 0; i < arr.length - 1; i++) { k = i; for(int j = i; j < arr.length; j++) { if(arr[j] < arr[k]) { k = j; } } tmp = arr[i]; arr[i] = arr[k]; arr[k] = tmp; }}
三、插入排序法
插入排序的思想,每次遍历的任务是:通过扫描前面已排序的子列表,将位置i处的元素定位到从0到i的子列表之内的正确的位置上。
public static void sort(long[] arr) { long tmp = 0; for(int i = 1; i < arr.length; i++) { tmp = arr[i]; int j = i; while(j > 0 && arr[j] >= tmp) { arr[j] = arr[j - 1]; j--; } arr[j] = tmp; }}
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #java面试题排序算法