Java几种简单的排序源代码给java面试题排序代码你介绍4种排序方法及源码java面试题排序代码,供参考
1.冒泡排序
主要思路: 从前往后依次交换两个相邻java面试题排序代码的元素 , 大的交换到后面,这样每次大的数据就到后面,每一次遍历 , 最大的数据到达最后面,时间复杂度是O(n^2) 。
public static void bubbleSort(int[] arr){
for(int i =0; iarr.length - 1; i++){
for(int j=0; jarr.length-1; j++){
if(arr[j]arr[j+1]){
arr[j] = arr[j]^arr[j+1];
arr[j+1] = arr[j]^arr[j+1];
arr[j] = arr[j]^arr[j+1];
}
}
}
}
2.选择排序
主要思路:每次遍历序列,从中选取最小的元素放到最前面 , n次选择后,前面就都是最小元素的排列java面试题排序代码了,时间复杂度是O(n^2) 。
public static void selectSort(int[] arr){
for(int i = 0; i arr.length -1; i++){
for(int j = i+1; jarr.length; j++){
if(arr[j]arr[i]){
arr[j] = arr[j]^arr[i];
arr[i] = arr[j]^arr[i];
arr[j] = arr[j]^arr[i];
}
}
}
}
3.插入排序
主要思路:使用了两层嵌套循环,逐个处理待排序的记录 。每个记录与前面已经排好序的记录序列进行比较 , 并将其插入到合适的位置 , 时间复杂度是O(n^2) 。
public static void insertionSort(int[] arr){
int j;
for(int p = 1; parr.length; p++){
int temp = arr[p];//保存要插入的数据
//将无序中的数和前面有序的数据相比,将比它大的数 , 向后移动
for(j=p; j0temp arr[j-1]; j--){
arr[j] = arr[j-1];
}
//正确的位置设置成保存的数据
arr[j] = temp;
}
}
4.希尔排序
主要思路:用步长分组 , 每个分组进行插入排序,再慢慢减小步长 , 当步长为1的时候完成一次插入排序,希尔排序的时间复杂度是:O(nlogn)~O(n2),平均时间复杂度大致是O(n^1.5)
public static void shellSort(int[] arr){
int j ;
for(int gap = arr.length/2; gap0 ; gap/=2){
for(int i = gap; iarr.length; i++){
int temp = arr[i];
for(j = i; j=gaptemparr[j-gap]; j-=gap){
arr[j] = arr[j-gap];
}
arr[j] = temp;
}
}
}
java面试题求解 求全部代码 急?。∫桓龆嘈衪xt文本,每行数据以tab分隔public static void main(String[] args) {
try{
File file = new File("D:\\123.txt");
FileInputStream inputStream = new FileInputStream(file);
BufferedReader bufferReader = new BufferedReader(new InputStreamReader(inputStream, "GBK"));
ListString threadColumns = new ArrayListString();
while(true){
String line = bufferReader.readLine();
if(line == null || "".equals(line))
break;
else{
String threadColum = line.split("\t")[2].toString().substring(2,9);
threadColumns.add(threadColum);
}
}
bufferReader.close();
inputStream.close();
Collections.sort(threadColumns);
File outFile = new File("D:\\456.txt");
FileWriter fw = new FileWriter(outFile);
BufferedWriter writer = new BufferedWriter(fw);
【java面试题排序代码 java面试题排序代码怎么写】for(String threadColum : threadColumns){
writer.write(threadColum);
writer.newLine();//换行
}
writer.close();
fw.close();
}catch(Exception e){
e.printStackTrace();
}
}
java对局部有序的数组进行排序 。某公司面试题直接插入排序比较效率高
基本思想:在要排序的一组数中,假设前面(n-1)[n=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中 , 使得这n个数也是排好顺序的 。如此反复循环,直到全部排好顺序
- mongodb manager mongodb界面管理
- redis 缓存页面 redis缓存pdf效果
- redis的使用案例 redis使用场景试题
- java查询数组中是否包含某一个值 javamongodb数组查询
- redis怎么写入数据 往redis里面放值
- mongodb面试题总结 前端mongodb面试题
- mongodb 图形界面 图解mongodb图形界面工具
- mysqled手机版使用教程 手机上面得mysql软件
- redis实战电子书 redisjava书籍
- javaredis集群 javaredis列队
