java冒泡排序法
答案:3 悬赏:70 手机版
解决时间 2021-01-22 08:01
- 提问者网友:心牵心
- 2021-01-21 09:49
java冒泡排序法
最佳答案
- 五星知识达人网友:迷人又混蛋
- 2021-01-21 11:10
public class SortTest {
public void sort(int[] args){
for(int m : args){
System.out.print("排序前 "+args[m]+" ");
}
int time1 = 0,time2 = 0;
for(int i = 0 ; i < args.length-1 ; i++){
++time1;
for(int j = i+1 ; j < args.length ; j++){
++time2;
int temp ;
if(args[i] > args[j]){
temp = args[j];
args[j] = args[i];
args[i] = temp;
}
}
}
System.out.println();
System.out.println("外循环次数:"+time1+"内循环次数:"+time2);
for(int n : args){
System.out.print("排序后 "+n+" ");
}
}
public static void main(String[] args) {
int[] arg = new int[]{2,1,4,5,8,7,6,3,9,0};
new SortTest().sort(arg);
}
}
降序排列 循环次数最少
输出结果为:
排序前 4 排序前 1 排序前 8 排序前 7 排序前 9 排序前 3 排序前 6 排序前 5 排序前 0 排序前 2
外循环次数:9 内循环次数:45
排序后 0 排序后 1 排序后 2 排序后 3 排序后 4 排序后 5 排序后 6 排序后 7 排序后 8 排序后 9
public void sort(int[] args){
for(int m : args){
System.out.print("排序前 "+args[m]+" ");
}
int time1 = 0,time2 = 0;
for(int i = 0 ; i < args.length-1 ; i++){
++time1;
for(int j = i+1 ; j < args.length ; j++){
++time2;
int temp ;
if(args[i] > args[j]){
temp = args[j];
args[j] = args[i];
args[i] = temp;
}
}
}
System.out.println();
System.out.println("外循环次数:"+time1+"内循环次数:"+time2);
for(int n : args){
System.out.print("排序后 "+n+" ");
}
}
public static void main(String[] args) {
int[] arg = new int[]{2,1,4,5,8,7,6,3,9,0};
new SortTest().sort(arg);
}
}
降序排列 循环次数最少
输出结果为:
排序前 4 排序前 1 排序前 8 排序前 7 排序前 9 排序前 3 排序前 6 排序前 5 排序前 0 排序前 2
外循环次数:9 内循环次数:45
排序后 0 排序后 1 排序后 2 排序后 3 排序后 4 排序后 5 排序后 6 排序后 7 排序后 8 排序后 9
全部回答
- 1楼网友:第四晚心情
- 2021-01-21 12:48
排序总要有个大小规则吧,怎样在前,怎样在后?追问小的在前 大的在后
求指导追答我是说你那个自定义类型的大小问题,既然是自定义数据类型,那么他们的大小比较也就需要自己定了了。追问大小随便啊 int类型啊
然后根据冒泡法排序追答额 就int啊 那太简单了,我理解为随便的自定义类了。
你是不是不清楚冒泡排序的算法啊?
求指导追答我是说你那个自定义类型的大小问题,既然是自定义数据类型,那么他们的大小比较也就需要自己定了了。追问大小随便啊 int类型啊
然后根据冒泡法排序追答额 就int啊 那太简单了,我理解为随便的自定义类了。
你是不是不清楚冒泡排序的算法啊?
- 2楼网友:梦中风几里
- 2021-01-21 11:40
public class MaoPaoSort {
public static void main(String[] args) {
try {
int mp[] = new int[args.length];
for (int i = 0; i < args.length; i++) {
mp[i] = Integer.parseInt(args[i]);
}
for (int i = 0; i < mp.length; i++) {
for (int j = 0; j < mp.length; j++) {
int temp;
if (mp[i] < mp[j]) {
temp = mp[j];
mp[j] = mp[i];
mp[i] = temp;
}
}
}
for (int i = 0; i < mp.length; i++) {
System.out.print(mp[i] + " ");
}
System.out.print("\n");
System.out.println("你的名字写在这里");
System.out.println("你的班级写在这里");
System.out.println("你的学号写在这里");
} catch (Exception e) {
System.out.println("没有传递参数或者参数类型不正确!请按照规则输入参数!程序退出...");
}
}
}追问错误
public static void main(String[] args) {
try {
int mp[] = new int[args.length];
for (int i = 0; i < args.length; i++) {
mp[i] = Integer.parseInt(args[i]);
}
for (int i = 0; i < mp.length; i++) {
for (int j = 0; j < mp.length; j++) {
int temp;
if (mp[i] < mp[j]) {
temp = mp[j];
mp[j] = mp[i];
mp[i] = temp;
}
}
}
for (int i = 0; i < mp.length; i++) {
System.out.print(mp[i] + " ");
}
System.out.print("\n");
System.out.println("你的名字写在这里");
System.out.println("你的班级写在这里");
System.out.println("你的学号写在这里");
} catch (Exception e) {
System.out.println("没有传递参数或者参数类型不正确!请按照规则输入参数!程序退出...");
}
}
}追问错误
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯