导航:首页 > 编程语言 > java快排for

java快排for

发布时间:2023-03-21 17:22:07

Ⅰ 帮我写一个快排的算法

用什么语言?下面是java的快排算法。public class QuickSort { /** * 快速排序 */ public void quickSort(String[] strDate,int left,int right){ String middle,tempDate; int i,j; i=left; j=right; middle=strDate[(i+j)/2]; do{ while(strDate[i].compareTo(middle)<0&& i<right) i++; //找出左边比中间值大的数 while(strDate[j].compareTo(middle)>0&& j>left) j--; //找出右边比中间值小的数 if(i<=j){ //将左边大的数和右边小的数进行替换 tempDate=strDate[i]; strDate[i]=strDate[j]; strDate[j]=tempDate; i++; j--; } }while(i<=j); //当两者交错时停止 if(i<right){ quickSort(strDate,i,right);//从 } if(j>left){ quickSort(strDate,left,j); } } /** * @param args */ public static void main(String[] args){ String[] strVoid=new String[]{"11","66","22","0","55","22","0","32"}; QuickSort sort=new QuickSort(); sort.quickSort(strVoid,0,strVoid.length-1); for(int i=0;i<strVoid.length;i++){ System.out.println(strVoid[i]+" "); } } }

Ⅱ 用JAVA实现快速排序算法

public void quickSort(int left,int right,int a[])
{
int l=left;
int r=right;
int pivot=a[(l+r)/2];//转轴数
int temp=0;
while(l<r)
{
while(a[l]<pivot)l++;
while(a[r]>pivot)r--;

if(l>=r)break;

temp=a[l];
a[l]=a[r];
a[r]=temp;

if(a[l]==pivot)r--;
if(a[r]==pivot)l++;
}
if(l==r)
{
l++;
r--;
}
if(left<r)quickSort(left,r,a);
if(right>l)quickSort(l,right,a);
}

Ⅲ 如何用JAVA实现快速排序算法

本人特地给你编的代码x0dx0a亲测{(inta[],intp,intr){x0dx0aintx=a[r-1];x0dx0ainti=p-1;x0dx0ainttemp;x0dx0afor(intj=p;j<=r-1;j++){x0dx0aif(a[j-1]<=x){x0dx0a//swap(a[j-1],a[i-1]);x0dx0ai++;x0dx0atemp=a[j-1];x0dx0aa[j-1]=a[i-1];x0dx0aa[i-1]=temp;x0dx0ax0dx0a}x0dx0a}x0dx0a//swap(a[r-1,a[i+1-1]);x0dx0atemp=a[r-1];x0dx0aa[r-1]=a[i+1-1];x0dx0aa[i+1-1]=temp;x0dx0ax0dx0areturni+1;x0dx0ax0dx0a}x0dx0ax0dx0apublicstaticvoidQuickSort(inta[],intp,intr){x0dx0ax0dx0aif(p

Ⅳ 求使用java实现的快排算法

① 代码:

publicclassquicksortdemo{

privateintarray[];
privateintlength;

publicvoidsort(int[]inputArr){

if(inputArr==null||inputArr.length==0){
return;
}
this.array=inputArr;
length=inputArr.length;
quickSort(0,length-1);
}

privatevoidquickSort(intlowerIndex,inthigherIndex){

inti=lowerIndex;
intj=higherIndex;
//calculatepivotnumber
intpivot=array[lowerIndex+(higherIndex-lowerIndex)/2];
//Divideintotwoarrays
while(i<=j){
while(array[i]<pivot){
i++;
}
while(array[j]>pivot){
j--;
}
if(i<=j){
swap(i,j);
i++;
j--;
}
}
//callquickSort()methodrecursively
if(lowerIndex<j)
quickSort(lowerIndex,j);
if(i<higherIndex)
quickSort(i,higherIndex);
}

privatevoidswap(inti,intj){
inttemp=array[i];
array[i]=array[j];
array[j]=temp;
}

publicstaticvoidmain(Stringa[]){

quicksortdemosorter=newquicksortdemo();
int[]input={24,2,45,20,56,75,2,56,99,53,12};
sorter.sort(input);
for(inti:input){
System.out.print(i);
System.out.print("");
}
}
}

② 运行:

c:>javaquicksortdemo
22122024455356567599

Ⅳ java编程实现随机数组的快速排序

java编程实现随机数组的快速排序步骤如下:

1、打开Eclipse,新建一个Java工程,在此工程里新建一个Java类;

2、在新建的类中声明一个产生随机数的Random变量,再声明一个10个长度的int型数组;

3、将产生的随机数逐个放入到数组中;

4、利用排序算法对随机数组进行排序。

具体代码如下:

importjava.util.Random;
publicclassDemo{
publicstaticvoidmain(String[]args){
intcount=0;
Randomrandom=newRandom();
inta[]=newint[10];
while(count<10){
a[count]=random.nextInt(1000);//产生0-999的随机数
count++;
}
for(inti=0;i<a.length-1;i++){
intmin=i;
for(intj=i+1;j<a.length;j++){
if(a[j]<a[min]){
min=j;
}
}
if(min!=i){
intb=a[min];
a[min]=a[i];
a[i]=b;
}
}
for(intc=0;c<a.length;c++){
System.out.print(a[c]+"");
}
}
}
阅读全文

与java快排for相关的资料

热点内容
找人缓解压力 浏览:929
iphone的pdf 浏览:342
90压缩饼干怎么吃 浏览:660
php教材下载 浏览:906
什么解压密码最好 浏览:582
数据库与服务器如何连接 浏览:436
架构师需要阅读的源码 浏览:475
ch编译器 浏览:448
java必须自己写一个编译器吗 浏览:938
如何制作androidrom 浏览:470
单片机万能板怎么写入程序 浏览:21
迈锐宝xl压缩比 浏览:340
靠算法买彩票 浏览:497
程序员考核d 浏览:239
自助游中国pdf 浏览:746
安卓p40是什么手机 浏览:87
24cxx编程器 浏览:591
阴阳师如何查看哪个服务器有ID 浏览:316
公务员照片压缩 浏览:458
编译的时候怎么找未定义的函数 浏览:352