排序算法
来源:互联网 发布:巨人网络收购alpha 编辑:程序博客网 时间:2024/06/15 18:08
package test;
public class Test1 {
public static void main(String []args){
int a[]={44,8,99,6,111,2,55,6,0,55,33,189,456,1,0};
// sort(a);
// sort2(a);
// sort3(a);
sort4(a,0,a.length-1);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
//选择排序
private static void sort4(int[] a, int i, int j) {
{
if(j<=i) return;
int m=parttion(a,i,j);
sort4(a,i,m-1);
sort4(a,m+1,j);
}
}
private static int parttion(int[] a, int lo, int hi) {
int i=lo,j=hi+1;
int t=a[lo];
while(true){
while(a[++i]<t) if(i==hi) break;
while(t<a[--j]) if(j==lo) break;
if(i>=j) break;
int h=a[i];
a[i]=a[j];
a[j]=h;
}
int h=a[lo];
a[lo]=a[j];
a[j]=h;
return j;
}
//插入排序
private static void sort3(int[] a) {
int N=a.length;
for(int i=1;i<N;i++){
for(int j=i;j>0&&a[j]<a[j-1];j--){
int t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
}
ForTest(N,a);
}
// 冒泡排序
private static void sort2(int[] a) {
int N=a.length;
for(int i=0;i<N;i++){
for(int j=0;j<N-i-1;j++){
if(a[j]>a[j+1]){
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=0;i<N;i++){
System.out.println(a[i]);
}
}
// 选择排序
private static void sort(int[] a) {
// TODO Auto-generated method stub
int N=a.length;
for(int i=0;i<N;i++){
int min=i;
for(int j=i+1;j<N;j++){
if(a[j]<a[min]){
min=j;
}
int t=a[i];
a[i]=a[min];
a[min]=t;
}
}
for(int i=0;i<N;i++){
System.out.println(a[i]);
}
}
public static void ForTest(int N,int a[]){
for(int i=0;i<N;i++){
System.out.println(a[i]);
}
}
}
public class Test1 {
public static void main(String []args){
int a[]={44,8,99,6,111,2,55,6,0,55,33,189,456,1,0};
// sort(a);
// sort2(a);
// sort3(a);
sort4(a,0,a.length-1);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
//选择排序
private static void sort4(int[] a, int i, int j) {
{
if(j<=i) return;
int m=parttion(a,i,j);
sort4(a,i,m-1);
sort4(a,m+1,j);
}
}
private static int parttion(int[] a, int lo, int hi) {
int i=lo,j=hi+1;
int t=a[lo];
while(true){
while(a[++i]<t) if(i==hi) break;
while(t<a[--j]) if(j==lo) break;
if(i>=j) break;
int h=a[i];
a[i]=a[j];
a[j]=h;
}
int h=a[lo];
a[lo]=a[j];
a[j]=h;
return j;
}
//插入排序
private static void sort3(int[] a) {
int N=a.length;
for(int i=1;i<N;i++){
for(int j=i;j>0&&a[j]<a[j-1];j--){
int t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
}
ForTest(N,a);
}
// 冒泡排序
private static void sort2(int[] a) {
int N=a.length;
for(int i=0;i<N;i++){
for(int j=0;j<N-i-1;j++){
if(a[j]>a[j+1]){
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=0;i<N;i++){
System.out.println(a[i]);
}
}
// 选择排序
private static void sort(int[] a) {
// TODO Auto-generated method stub
int N=a.length;
for(int i=0;i<N;i++){
int min=i;
for(int j=i+1;j<N;j++){
if(a[j]<a[min]){
min=j;
}
int t=a[i];
a[i]=a[min];
a[min]=t;
}
}
for(int i=0;i<N;i++){
System.out.println(a[i]);
}
}
public static void ForTest(int N,int a[]){
for(int i=0;i<N;i++){
System.out.println(a[i]);
}
}
}
0 0
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 单队列的链式表示和实现
- HDU 1671 Phone List
- KMP算法(待优化)--2015年7月25日14:04:25V1.0版
- poj 2253 Frogger(最小生成树)
- HDU1565 方格取数(1) 网络流
- 排序算法
- Dubbo--简介
- [Python]import 出错
- [bfs] poj3278 Catch that Cow
- iOS- AVSpeechSynthesizer——iOS7语音合成器
- 完全退出Activity
- 2015多校联合训练总结(2)
- 设计模式_访问者模式
- UVa 215 - Spreadsheet Calculator(DFS)