各种排序
来源:互联网 发布:java int转char数组 编辑:程序博客网 时间:2024/06/05 18:37
import java.util.Arrays;/** * Created by 糖糖 on 2017/7/19. */public class Test1 { public static void main(String args[]){ int arr[]={2,4,1,55,5,12}; //selectSort(arr); //BubbleSort(arr); // quickSort(arr,0,arr.length-1); HeadSort(arr); System.out.println(Arrays.toString(arr)); } public static void selectSort(int []arr){ int flag=0; int tmp=0; for(int i=0;i<arr.length;i++) { tmp=arr[i]; flag=i; for(int j=i+1;j<arr.length;j++){ if(arr[j]>tmp){ flag=j; tmp=arr[j]; } } if(flag!=i) { arr[flag]=arr[i]; arr[i]=tmp; } } } public static void BubbleSort(int []arr){ for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]) { int tmp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=tmp; } } } } public static void quickSort(int arr[],int start,int end){ if(start>end) return; int index=start; int i=start; int j=end; int temp=arr[index]; int len=arr.length-1; while (i<j){ while (arr[j]>temp&&i<j) j--; while (arr[i]<=temp&&i<j) i++; if(i<j) { int a=arr[i]; arr[i]=arr[j]; arr[j]=a; } } arr[index]=arr[i]; arr[i]=temp; quickSort(arr,start,i-1); quickSort(arr,i+1,end); } public static void HeadSort(int arr[]) { for(int i=arr.length/2-1;i>=0;i--){ adjustHead(arr,arr.length,i); } for(int i=arr.length-1;i>=0;i--){ int tmp=arr[i]; arr[i]=arr[0]; arr[0]=tmp; adjustHead(arr,i,0); } } public static void adjustHead(int arr[],int len,int index){ int right=index*2+2; int left=index*2+1; int flag=index; if(index<=len/2){ if(right<len&&arr[right]>arr[flag]) flag=right; if(left<len&&arr[left]>arr[flag]) flag=left; if(flag!=index) { int a=arr[flag]; arr[flag]=arr[index]; arr[index]=a; adjustHead(arr,len,flag); } } }}
阅读全文
0 0
- 各种排序
- 各种排序
- 各种排序
- 各种排序
- 各种排序
- 各种排序
- 各种排序
- 各种排序
- 各种排序
- 各种排序
- 各种排序
- 各种排序
- 各种排序
- 各种排序
- 各种排序
- 各种排序
- 排序 各种
- 各种排序
- Laravel虚拟环境:Mac安装Valet
- AX ,BX ,CX ,DX SI 各种寄存器
- mybatis重点、精华、用法总结
- Android DES加解密的两种实现方式
- excel描点绘制折线图
- 各种排序
- python time模块获取当前时间
- 语义分割--Efficient Deep Models for Monocular Road Segmentation
- 全屏显示网页
- hdu6063 RXD and math(数学/打表)
- JSP相关技术 二、JSP9个内置对象
- hive与hbase的联系与区别
- FFMPEG 零基础编译过程
- MapReduce功能实现十---倒排索引(Inverted Index)