java排序
来源:互联网 发布:阿里云 域名解析到网址 编辑:程序博客网 时间:2024/04/30 23:34
package test;/** * * @author ChenYeKe */import java.util.*;public class Test { public static void BubbleSort(int data[]) { for (int i = 0; i < data.length - 1; i++) { for (int j = 0; j < data.length - i - 1; j++) { if (data[j] > data[j + 1]) { int temp = data[j]; data[j] = data[j + 1]; data[j + 1] = temp; } } } } public static void SelectionSort(int data[]) { int minVal; int minIndex; for (int i = 0; i < data.length - 1; i++) { minVal = data[i]; minIndex = i; for (int j = i + 1; j < data.length; j++) { if (data[j] < minVal) { minVal = data[j]; minIndex = j; } } if (minVal != data[i] && minIndex != i) { data[minIndex] = data[i]; data[i] = minVal; } } } public static void InsertionSort(int data[]) { for (int i = 1; i < data.length; i++) { for (int j = i; j > 0; j--) { if (data[j] < data[j - 1]) { int temp = data[j]; data[j] = data[j - 1]; data[j - 1] = temp; } } } } public static void MergeSort(int data[], int start, int end) { if (start < end) { int mid = (start + end) / 2; MergeSort(data, start, mid); MergeSort(data, mid + 1, end); merge(data, start, mid, end); } } public static void merge(int data[], int start, int mid, int end) { int temp[] = new int[end - start + 1]; int i = start; int j = mid + 1; int k = 0; while (i <= mid && j <= end) { if (data[i] < data[j]) { temp[k++] = data[i++]; } else { temp[k++] = data[j++]; } } while (i <= mid) { temp[k++] = data[i++]; } while (j <= end) { temp[k++] = data[j++]; } for (k = 0, i = start; k < temp.length; k++, i++) { data[i] = temp[k]; } } public static void QuickSort(int data[], int start, int end) { if (end - start <= 0) { return; } int last = start; for (int i = start + 1; i <= end; i++) { if (data[i] < data[start]) { int temp = data[++last]; data[last] = data[i]; data[i] = temp; } } int temp = data[last]; data[last] = data[start]; data[start] = temp; QuickSort(data, start, last - 1); QuickSort(data, last + 1, end); } public static void main(String[] args) { int[] a = new int[10]; Scanner cin = new Scanner(System.in); for (int i = 0; i < 10; i++) { a[i] = cin.nextInt(); } // BubbleSort(a); // SelectionSort(a); // InsertionSort(a); // MergeSort(a,0,a.length-1); QuickSort(a, 0, a.length - 1); for (int i = 0; i < a.length; i++) { System.out.print(" " + a[i]); } }}
0 0
- java排序----鸡尾酒排序
- java排序--归并排序
- java排序-希尔排序
- Java 排序 - 冒泡排序
- Java排序 Collections排序
- Java排序--插入排序
- 排序-选择排序-Java
- 排序-插入排序-Java
- 排序-归并排序-Java
- 排序-快速排序-Java
- java排序 -- 堆排序
- JAVA排序
- JAVA排序
- java排序
- java排序
- java排序
- JAVA排序
- java 排序
- [codeforces724e]Goods transportation 解题报告
- 三子棋的C语言实现
- 【JZOJ4807】破解
- 集合入门介绍第四章——Map集合
- Tomcat项目跨域问题(Tomcat7)
- java排序
- Android Studio下导入百度地图Demo
- iOS简单直播实现(三:IJKMediaFramework拉流)
- java在一个字符串前面插入另一个字符串的方法
- OnClickListener cannot be resolved to a type解决方法
- laravel批量添加
- NYOJ 880 A+B Problem II(大数加法)
- 【uva 10375】选择与除法
- 语句,表达式