日志8.29:排序(复习)

2015-08-30  本文已影响17人  莫唁

今天没有看新的内容,就总结一下原来看到的几种排序方法,现在好像也只能写出三种排序:冒泡、选择和插入排序法,另外再补充一个二分法的查找方法,总结如下:

public class Rank

{

public void geta(int a[])

{

for(int i=0;i<a.length;i++)

a[i]=(int)(Math.random()*100);

}

public void print(int a[])

{

for(int i=0;i<a.length;i++)

System.out.print(a[i]+" ");

System.out.println();

}

public void maopao(int a[])

{

int temp;

for(int i=0;i<a.length-1;i++)

for(int j=0;j<a.length-1-i;j++)

{

if(a[j]>a[j+1])

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

}

public void xuanze(int a[])

{

int temp;

for(int i=0;i<a.length-1;i++)

for(int j=i+1;j<a.length;j++)

{

if(a[i]>a[j]

{

temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

}

public void charu(int a[])

{

int insert;

for(int i=0;i<a.length;i++)

{

insert=a[i]

for(int j=0;j<i;j++)

{

if(a[j]<a[i])

{

insert=a[i];

a[i]=a[j];

a[j]=insert;

}

}

}

}

public void erfenfa(int a[],int x,int left,int right)

{

int mid=(left+right)/2;

if(left<=right)

{

if(x<a[mid])

erfenfa(a,x,left,mid-1);

else if(x>a[mid])

erfenfa(a,x,mid+1,right);

else

System.out.println("找到该数是第"+(mid+1)+"个");

}

}

public static void main(String args[])

{

int a[]=new int[9];

Rank rank=new Rank();

rank.geta(a);

System.out.print("原数组为:")

rank.print(a);

}

}

public static void main(String args[])

{

//主函数省略

}

总算写完了,还是优点忘了,困死。

上一篇 下一篇

猜你喜欢

热点阅读