2.1冒泡排序复习
时间复杂度o(n^2)
思路:0~N-1 个数
1.第一个数和第二个数比较,哪个数大,放到后面,第二个数和第三个数比较哪个大哪个放在后面,一轮下来最大的数放在的N-1的位置
2.把范围缩小到0~N-2,依次比较最大的数放在了N-2的位置
......
3.直至范围缩小到一个数时,就变得有序了
package chenzp;
import java.util.Scanner;
public class barrier2 {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int a[]=new int[n];
for (int i = 0; i < n; i++) {
a[i]=sc.nextInt();
}
for(int i=n;i>0;i--){
for(int j=1;j<i;j++){
int temp=0;
if(a[j-1]>a[j]){
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
for (int i : a) {
System.out.println(i);
}
}
}
函数版
import java.util.Scanner;
public class barrier2 {
public static int[] barrier2(int[] A, int n) {
// write code here
for(int i=n;i>0;i--){
for(int j=1;j<i;j++){
int temp=0;
if(A[j-1]>A[j]){
temp=A[j];
A[j]=A[j-1];
A[j-1]=temp;
}
}
}
return A;
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int a[]=new int[n];
for (int i = 0; i < n; i++) {
a[i]=sc.nextInt();
}
barrier2.barrier2(a,n);
for (int i : a) {
System.out.println(i);
}
}
}
网友评论