简介
冒泡排序就是一个交换排序的算法,通过交换数据元素的位置达到排序的目的
基本思想
拿到一个无序列表从头开始,两两进行比较大小交换位置,直到最后把最大(小)放到队尾,从而成为有序序列的一部分,
接着重复这个比较交换过程。算法的核心在于每次通过两两比较交换位置,选出剩余无序序列里最大(小)的数据元素放到队尾。
实例
代码
int temp ; int []s={3,6,4,2,11,10,5};
for (
int i=
0;i<s.
length-
1;i++){ //需要进行length-1轮
for (
int j=
0;j<s.
length-
1-i;j++){//每轮进行比较的次数
if(s[j]>s[j+
1]){ temp=s[j+
1]; s[j+
1]=s[j]; s[j]=temp; } }}
for (
int i=
0;i<s.
length;i++){ System.
out.println(
"sort"+s[i]);}
需要进行lenth-1次冒泡过程,因为进行了lenth-1次冒泡,那么lenth-1个元素已经是有序的,那么最后一个元素也是有序的
每次冒泡需要比较的次数,这个是变化的。因为每次冒泡过程中,其实已经将一个元素的需要确定,所以之后的冒泡就不要进行比较了