冒泡排序、选择排序、插入排序

2021-01-14 21:11

阅读:589

标签:comment   sele   对象   else   comm   比较   ram   break   get   

冒泡排序:

  • 核心思想:每一轮找出最大的元素放在数组的最后面。
public  static void BubbleSort(int[] a){
	//外层循环,找每一轮的最大数放在末尾
	for(int i=0;i//内层循环,遍历数组,比较得出最大值
		for(int j=0;j1;j++){   
			if(a[j]>a[j+1]){
				int temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
		}
	}
}

插入排序:

  • 核心思想:将数组分为已排序和未排序两部分,未排序的首位m要依次与已排序数组进行比较(从后往前),大的就向后挪一位,直到m比前一位大,m就放在那。
public static void InsertSort(int[] a){
	//外层循环,把每轮未排序的首位进行排序
	for(int i=1;iint value=a[i];
		int j=i-1;
		for(;j>=0;i--){
			if(value1]=a[j];  //大的就往后挪一位
			}else{
				break;
			}
		}
		a[j+1]=value;
	}
}

选择排序:

  • 核心思想:同样分为已排序和未排序区间,但这次是从未排序区间内进行遍历找出每轮的最小值,然后和已排序区间的末尾进行交换。
public static void SelectSort(int[] a){
	//外层循环以 已排序区间的末尾 作为比较交换对象
	for(int i=0;i1;i++){
		int min=i;
		//内层循环在未排序区间中进行遍历,找出最小值的索引,最后再将该值进行交换。
		for(int j=i+1;jif(a[j]int temp=a[min];
		a[i]=a[min];
		a[min]=temp;
	}
}
 
来源:迅闻网

冒泡排序、选择排序、插入排序

标签:comment   sele   对象   else   comm   比较   ram   break   get   

原文地址:https://www.cnblogs.com/1994july/p/12939608.html


评论


亲,登录后才可以留言!