java 排序法
来源:互联网 发布:传淘宝工具怎么使用 编辑:程序博客网 时间:2024/06/15 13:49
主要排序法有:
一、冒泡(Bubble)排序——相邻交换
二、选择排序——每次最小/大排在相应的位置
三、插入排序——将下一个插入已排好的序列中
四、壳(Shell)排序——缩小增量
五、归并排序
六、快速排序
七、堆排序
八、拓扑排序
九、锦标赛排序
十、基数排序
//冒泡排序法
public class Sort1 {
public static void main(String[] args) {
int arr[]={1,12,3,2,52,13};
int temp=0;
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
//换位
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}
//选择排序法
public class Sort2 {
public static void main(String[] args) {
int arr[]={1,12,3,2,52,13,28,26,217,27};
int temp=0;
//我认为第一个数就是最小的
for(int j=0;j<arr.length;j++){
int min=arr[j];
//记录最小数的下标
int minIndex=j;
for(int k=j+1;k<arr.length;k++){
if(min>arr[k]){
min=arr[k];
minIndex=k;
}
}
//档推出循环找到这次的最小值
temp=arr[j];
arr[j]=arr[minIndex];
arr[minIndex]=temp;
}
for(int j=0;j<arr.length;j++){
System.out.print(arr[j]+" ");
}
}
}
//插入式排序法
public class Sort3 {
public static void main(String[] args) {
int arr[]={1,12,3,2,52,13};
for(int i=1;i<arr.length;i++){
int insertVal=arr[i];
//insertVal最北和前一个数比较
int index=i-1;
while(index>=0&&insertVal<arr[index]){
arr[index+1]=arr[index];
index--;
}
//讲insertVal插入到适当位置
arr[index+1]=insertVal;
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}
下面是插入排序算法的一个 以学生的年龄为判断条件 的小案例(此案例应用在学生管理系统中)
public void sort(int sortType){
for(int i=1;i<student.length;i++){
Student next=student[i];
int j=i;
//shengxu
if(sortType<0){
while(j>0&&student[j-1].getAge()>next.getAge()){
student[j]=student[j-1];
j--;
}
}else{
while(j>0&&student[j-1].getAge()<next.getAge()){
student[j]=student[j-1];
j--;
}
}
student[j]=next;
}
//printStudent(10);
}
- Java排序|冒泡法排序|插入排序|选择排序
- Java排序法(冒泡排序、选择排序、快速排序)
- java 冒泡排序法
- java排序法
- JAVA中的排序法
- java快速排序法
- Java 冒泡排序法
- java常用排序法
- java 插入法排序
- Java冒泡排序法
- Java冒泡排序法
- Java冒泡排序法
- JAVA选择排序法
- java快速排序法
- java 冒泡法排序
- java 选择排序法
- java 插入排序法
- Java冒泡排序法
- php学习笔记(九)htmlspecialchars
- Java中枚举类型的使用
- 用c语言统计文件中某个汉字的个数
- 位操作及应用
- Android Canvas绘图详解
- java 排序法
- C++11 多线程
- 语音识别的技术原理是什么?
- hdu1892(二维树状数组)
- 线性表(一)
- JAVA链接数据库
- Hdu 4771 Stealing Harry Potter's Precious (搜索)
- Scramble String
- 解决 Error:No suitable device found: no device found for connection "System eth0"