目前学了数据结构的一些皮毛,正准备更新几种排序的问题:
//首先是冒泡排序:(直接粘贴复制即可运行)
public class sort {
public static void main(String[]args){
int[] a={4,5,6,3,3,9,0,1,2,8,7};
sort(a);
for(int i=0;i<a.length;i++){
System.out.print(a[i]);
}
System.out.println();
System.out.println("helloworld");
}
public static void sort(int[] a){
for(int i=0;i<a.length;i++){
for(int j=a.length-2;j>=0;j--){
if(a[j]>a[j+1]){
swap(a, j, j+1);
}
}
}
}
public static void swap(int[] a,int i,int j){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
//然后是选择排序:
public class sort2 {
public static void main(String[] args) {
int[] a={2,3,4,5,9,8,7,6,2,1};
int n=a.length;
for(int i=0;i<n;i++){
System.out.print(a[i]);
}
}
public static void sort(int[] a){
int n=a.length;
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(a[i]>a[j]){
sort(a,i,j);
}
}
}
}
public static void sort(int[] a,int i,int j){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
//下面是插入排序:
public class sort3{
public static void main(String[]args){
int[] a={3,2,5,6,8,9,7,1,0,4};
sort(a);
for(int i=0;i<a.length;i++){
System.out.print(a[i]);
}
}
public static void sort(int[] a){
int n=a.length;
for(int i=0;i<n;i++){
int temp=a[i];
int j;
for(j=i-1;j>=0&&(temp<a[j]);j--){
a[j+1]=a[j];
}
}
a[j+1]=temp;
}
}