public class Mianji {
public static void main(String[] args) {
int a[]=new int[9];
int t[]=new int[1];
a[0]=25;a[1]=32;a[2]=10;a[3]=67;a[4]=8;a[5]=33;a[6]=24;a[7]=14;a[8]=27;
for(int i=1;i<=8;i++){
for(int j=0;j<i;j++){
if(a[j]>=a[j+1]){
t[0]=a[j+1];
a[j+1]=a[j];
a[j]=t[0];}
}
}for(int i=0;i<=8;i++){
System.out.println(a[i]);
}
}
}
11 个解决方案
#1
int a[]=new int[9];
int t[]=new int[1];
a[0]=25;a[1]=32;a[2]=10;a[3]=67;a[4]=8;a[5]=33;a[6]=24;a[7]=14;a[8]=27;
for(int i=0;i <=7;i++){ //这里
for(int j=0;j <9-i-1;j++){ //这里
if(a[j]>=a[j+1]){
t[0]=a[j+1];
a[j+1]=a[j];
a[j]=t[0];}
}
}for(int i=0;i <=8;i++){
System.out.println(a[i]);
}
#2
public class Test {
public static void main(String[] args) {
int a[]=new int[9];
int t[]=new int[1];
a[0]=25;a[1]=32;a[2]=10;a[3]=67;a[4]=8;a[5]=33;a[6]=24;a[7]=14;a[8]=27;
for(int i=0;i <=8;i++){
for(int j=i;j <8;j++){
if(a[i]>=a[j+1]){
t[0]=a[j+1];
a[j+1]=a[i];
a[i]=t[0];}
}
}for(int i=0;i <=8;i++){
System.out.println(a[i]);
}
}
}
#3
谢了 不过我自己想想我写的似乎也能排出来,但结果是不行的
#4
用a[0]=25;a[1]=32;a[2]=10;三个数单步排一排就会发现不行
#5
回去巴拉巴拉数据结构吧~~~~
#6
你看看一楼的好好想想,但是第一个应该是<=8;
数组下标从0开始
很基础的啊
数组下标从0开始
很基础的啊
#7
i<=7,我考虑过的.
n个数,最多要n-1趟冒泡。
#8
57450916。。。java基础群,欢迎学java的进来讨论。。谢谢!
#9
冒泡排序,思考下经过怎样一个过程,先让数组部分有序,
然后有序部分逐渐增多,最终全部有序
for(int i=0;i <=7;i++){ //这里
for(int j=0;j <9-i-1;j++){ //这里
当i=0时,内循环将最大一个数移动到了数组末尾,
当i=1时,内循环将第二大的数组移动到倒数第二,
当i=2时,内循环将第三大的数组移动到倒数第三,
数组末端是有序的,而且有序部分逐渐增多
。。。
最终,所有数都是有序的
而lz的算法,只是将小的往前移,大的往后移,
有序部分都是一小块,一小块,始终没有一块完全,真正有序
25 32 10 67 8 33 24 14 27 -------------
25 10 32 67 8 33 24 14 27 -------------
10 25 32 67 8 33 24 14 27 -------------
10 25 32 8 67 33 24 14 27 -------------
10 25 8 32 33 67 24 14 27 -------------
10 8 25 32 33 24 67 14 27 -------------
8 10 25 32 24 33 14 67 27 -------------
8 10 25 24 32 14 33 27 67 -------------
不得不说,思考起来是麻烦的,逻辑上容易混了
然后有序部分逐渐增多,最终全部有序
for(int i=0;i <=7;i++){ //这里
for(int j=0;j <9-i-1;j++){ //这里
当i=0时,内循环将最大一个数移动到了数组末尾,
当i=1时,内循环将第二大的数组移动到倒数第二,
当i=2时,内循环将第三大的数组移动到倒数第三,
数组末端是有序的,而且有序部分逐渐增多
。。。
最终,所有数都是有序的
而lz的算法,只是将小的往前移,大的往后移,
有序部分都是一小块,一小块,始终没有一块完全,真正有序
25 32 10 67 8 33 24 14 27 -------------
25 10 32 67 8 33 24 14 27 -------------
10 25 32 67 8 33 24 14 27 -------------
10 25 32 8 67 33 24 14 27 -------------
10 25 8 32 33 67 24 14 27 -------------
10 8 25 32 33 24 67 14 27 -------------
8 10 25 32 24 33 14 67 27 -------------
8 10 25 24 32 14 33 27 67 -------------
不得不说,思考起来是麻烦的,逻辑上容易混了
#10
上网找下冒泡排序的算法看看。
#11
public static void main(String[] args) {
int a[]=new int[9];
int t;
a[0]=25;a[1]=32;a[2]=10;a[3]=67;a[4]=8;a[5]=33;a[6]=24;a[7]=14;a[8]=27;
for(int i=1;i <=8;i++){
for(int j=0;j <i;j++){
if(a[j]>=a[i]){ //比较的时候可以使这样的
t=a[j];
a[j]=a[i];
a[i]=t;
}
}
}
for(int i=0;i <=8;i++){
System.out.print(a[i]+" ");
}
#1
int a[]=new int[9];
int t[]=new int[1];
a[0]=25;a[1]=32;a[2]=10;a[3]=67;a[4]=8;a[5]=33;a[6]=24;a[7]=14;a[8]=27;
for(int i=0;i <=7;i++){ //这里
for(int j=0;j <9-i-1;j++){ //这里
if(a[j]>=a[j+1]){
t[0]=a[j+1];
a[j+1]=a[j];
a[j]=t[0];}
}
}for(int i=0;i <=8;i++){
System.out.println(a[i]);
}
#2
public class Test {
public static void main(String[] args) {
int a[]=new int[9];
int t[]=new int[1];
a[0]=25;a[1]=32;a[2]=10;a[3]=67;a[4]=8;a[5]=33;a[6]=24;a[7]=14;a[8]=27;
for(int i=0;i <=8;i++){
for(int j=i;j <8;j++){
if(a[i]>=a[j+1]){
t[0]=a[j+1];
a[j+1]=a[i];
a[i]=t[0];}
}
}for(int i=0;i <=8;i++){
System.out.println(a[i]);
}
}
}
#3
谢了 不过我自己想想我写的似乎也能排出来,但结果是不行的
#4
用a[0]=25;a[1]=32;a[2]=10;三个数单步排一排就会发现不行
#5
回去巴拉巴拉数据结构吧~~~~
#6
你看看一楼的好好想想,但是第一个应该是<=8;
数组下标从0开始
很基础的啊
数组下标从0开始
很基础的啊
#7
i<=7,我考虑过的.
n个数,最多要n-1趟冒泡。
#8
57450916。。。java基础群,欢迎学java的进来讨论。。谢谢!
#9
冒泡排序,思考下经过怎样一个过程,先让数组部分有序,
然后有序部分逐渐增多,最终全部有序
for(int i=0;i <=7;i++){ //这里
for(int j=0;j <9-i-1;j++){ //这里
当i=0时,内循环将最大一个数移动到了数组末尾,
当i=1时,内循环将第二大的数组移动到倒数第二,
当i=2时,内循环将第三大的数组移动到倒数第三,
数组末端是有序的,而且有序部分逐渐增多
。。。
最终,所有数都是有序的
而lz的算法,只是将小的往前移,大的往后移,
有序部分都是一小块,一小块,始终没有一块完全,真正有序
25 32 10 67 8 33 24 14 27 -------------
25 10 32 67 8 33 24 14 27 -------------
10 25 32 67 8 33 24 14 27 -------------
10 25 32 8 67 33 24 14 27 -------------
10 25 8 32 33 67 24 14 27 -------------
10 8 25 32 33 24 67 14 27 -------------
8 10 25 32 24 33 14 67 27 -------------
8 10 25 24 32 14 33 27 67 -------------
不得不说,思考起来是麻烦的,逻辑上容易混了
然后有序部分逐渐增多,最终全部有序
for(int i=0;i <=7;i++){ //这里
for(int j=0;j <9-i-1;j++){ //这里
当i=0时,内循环将最大一个数移动到了数组末尾,
当i=1时,内循环将第二大的数组移动到倒数第二,
当i=2时,内循环将第三大的数组移动到倒数第三,
数组末端是有序的,而且有序部分逐渐增多
。。。
最终,所有数都是有序的
而lz的算法,只是将小的往前移,大的往后移,
有序部分都是一小块,一小块,始终没有一块完全,真正有序
25 32 10 67 8 33 24 14 27 -------------
25 10 32 67 8 33 24 14 27 -------------
10 25 32 67 8 33 24 14 27 -------------
10 25 32 8 67 33 24 14 27 -------------
10 25 8 32 33 67 24 14 27 -------------
10 8 25 32 33 24 67 14 27 -------------
8 10 25 32 24 33 14 67 27 -------------
8 10 25 24 32 14 33 27 67 -------------
不得不说,思考起来是麻烦的,逻辑上容易混了
#10
上网找下冒泡排序的算法看看。
#11
public static void main(String[] args) {
int a[]=new int[9];
int t;
a[0]=25;a[1]=32;a[2]=10;a[3]=67;a[4]=8;a[5]=33;a[6]=24;a[7]=14;a[8]=27;
for(int i=1;i <=8;i++){
for(int j=0;j <i;j++){
if(a[j]>=a[i]){ //比较的时候可以使这样的
t=a[j];
a[j]=a[i];
a[i]=t;
}
}
}
for(int i=0;i <=8;i++){
System.out.print(a[i]+" ");
}