ZKX's LAB

引用类型冒泡排序 java高手帮忙看看,请为此引用类型的数组排序一下,能否写一个算法,最好不要用Comparable接口来实现!

2020-07-21知识12

java关于冒泡排序的小问题。。。。。。。。 主要是Swap()方法的问题,void方法尽量操作全局变量,操作main方法里面创建的局部变量的方法最好有返回类型。Java中的ArrayList怎么进行冒泡排序 java中的ArrayList进行冒泡排序,主要是循环遍历取出数据,然后进行比较排序,如下代码:packagecom.qiu.lin.he;import java.util.ArrayList;public class Ceshi {public static void main(String[]args){ArrayList<;Integer>;list=new ArrayList();list.add(76);list.add(4);list.add(786);list.add(43);list.add(21);list.add(432);list.add(10);for(int i=0;i()-1;i+){for(int j=1;j()-i;j+){Integer a;if(list.get(j-1).compareTo(list.get(j))>;0){/比较两个整数的大小a=list.get(j-1);list.set((j-1),list.get(j));list.set(j,a);交换数据}}}for(Integer s:list){System.out.println(s.intValue());输出arraylist的数据}}}运行结果如下:Java中的冒泡排序问题,已经写好了方法,好像是调用时出现了问题?我也不太清楚,求大神帮忙! Array作为一个int类型数组引用是没有bubble方法的(建议你引用要小写字母),所以在main方法调用时候会报错。应该将Array作为参数传进bubble方法里面。main方法调用bubble(Array);Array引用和bubble方法还是要声明为静态的。冒泡排序 error C2057: 应输入常量表达式 以下是C语言中对数组的定义规则:在C语言中使用数组必须先进行定义。一维数组的定义方式为:类型说明符 数组名[常量表达式];其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。注意:不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。正确的示例:define FD 5main(){int a[3+2],b[7+FD];}错误的例子:main(){int n=5;int a[n];}解释:本例中用了变量来定义数组个数,应直接定义为:int a[5]你的代码中也是一样,应改为:int A[10]=。要不就在外边定义一个宏,在代码中引用。define N 10main(){int a[N]=。}Java中的ArrayList怎么进行冒泡排序 j+){ 。j中的ArrayList进行冒泡排序,主要是循环遍历取出数据,然后进行比较排序,如下代码:packagecom.qiu.lin.he;import java.util.冒泡排序 error C2057: 应输入常量表达式 以下是C语言中对数组的定义规则:在C语言中使用数组必须先进行定义。一维数组的定义方式为:类型说明符 数组名[常量表达式];其中,类型说明符是任一种基本数据类型或构造。C语言冒泡排序源程序,C语言是一门计算机高级语言,被许多IT行业的工作者们熟练地运用着。在C语言中,排序的算法有好几种,下来我会举一个例子:C语言的冒泡排序,以及冒泡。引用Comparable后,在做排序时,怎么替换引用类型的对象? 就定义成Comparable应该就可以。不知道您的A类以及comapareTo是怎么定义的,我自己写了一个快速的测试程序,好像没有问题:public class QuickTest implements Comparable{ private int index;private int count;public QuickTest(int index,int count){ this.index=index;this.count=count;} public static void main(String[]args){ QuickTest[]a=new QuickTest[5];for(int i=0;i;i+){ a[i]=new QuickTest(i,i+1);System.out.println(\"a[\"+i+\"]=\"+a[i].getCount()+\".\"+a[i].getIndex());} bubbleSort((Comparable[])a);for(int i=0;i;i+){ System.out.println(\"a[\"+i+\"]=\"+a[i].getCount()+\".\"+a[i].getIndex());} }public int compareTo(Object o){ if(((QuickTest)o).getCount()>;((QuickTest)o).getIndex())return 1;if(((QuickTest)o).getCount()=((QuickTest)o).getIndex())return 0;return-1;}return the index*/public int getIndex(){ return index;}param index the index to set*/public void setIndex(int index){ this.index=index;}return the count*/public int getCount(){ return count;}param count the count to set*/public void setCount。java高手帮忙看看,请为此引用类型的数组排序一下,能否写一个算法,最好不要用Comparable接口来实现! 冒泡排序,遇到不合适的,交换位置通过定义函数实现冒泡排序过程, 提供一个C语言代码供参考include冒泡排序void bubble_sort(int a[],int n);输出排序void output(int a[],int n);int main(){int number[100],count=0;char y;printf(\"请输入任意个数e79fa5e98193e78988e69d8331333337383232,按回车键结束\\n\");do{scanf(\"%d\",&number[count+]);}while((y=getchar())。'\\n');这里用来判断是否输入了回车bubble_sort(number,count);output(number,count);return 0;}void bubble_sort(int a[],int n)/n为数组a的元素个数{int i,j,temp;for(j=0;j;j+)for(i=0;i;i+){if(a[i]>;a[i+1])/数组元素大小按升序排列{temp=a[i];a[i]=a[i+1];a[i+1]=temp;}}}void output(int a[],int n){int i;for(i=0;i;i+){printf(\"%d\",a[i]);}}

#冒泡排序#数组#源程序#list#arraylist

随机阅读

qrcode
访问手机版