发布网友 发布时间:2022-04-21 17:58
共1个回答
热心网友 时间:2023-07-04 04:46
是吗?冒泡排序不需要用mark进行标记吧?还有,你让i=0,会少一次排序的。我是这样写的:
int temp=0;
for(int i=0;i<values.length;i++){
for(int j=0;j<values.length-i-1;j++){
if(values[j]<values[j+1]){
temp=values[j];
values[j]=values[j+1];
values[j+1]=temp;}}}追问我是想写快速排序法的,最后不知道怎么写的就写成这样!!!!所有我在问快速排序法的思想 不是定义个 最前或最后一个下标,然后用一个mark记录 每次mark对比一个最前+1,快速排序是不是这个意思。
追答我的家庭作业。。。。不知道是不是,我不太懂快速排序法
package shiyan6;
public class Paixu {
public static void countSort(int n[])//对数组n进行计数排序的方法
{
int m[]=new int[n.length];//定义排序后的数组m
int count[]=new int[n.length];//记录数组n中某个数据在数组m中的位置
for(int i=0;in[j])
count[i]++;
if(n[i]==n[j])
count[j]++;
}
m[count[i]-1]=n[i];
}
for(int i=0;i<m.length;i++)//输出排序后的数组
{
System.out.print(m[i]+" ");
}
System.out.println();
}
public static void main(String[] args)
{
int a[]={7,4,0,6,2,5,1,1};
countSort(a);
}
}