一、排序算法
稳定性:如果待排序的序列中存在值相等的元素,经过排序之后,相等元素之间原有的先后顺序不变,这种排序算法叫作稳定的排序算法;如果前后顺序发生变化,那对应的排序算法就叫作不稳定的排序算法。
二、冒泡排序
算法逻辑:两个相邻元素进行比较,如果前者元素比后者元素大,则交换两者的位置,每次比较一轮,就会找到序列中最大的一个。重复上述的步骤,每一轮比较减少比较的元素,直到没有任何一对数字需要比较。
示例:
java代码实现
public class maopaoTest {
public int[] BubbleSort(int[] arraySource){
int temp ;
boolean flag;
for(int i =1;i<arraySource.length;i++){
//设定一个标记,若为true,则表示此次循环没有进行交换,也就是待排序列已经有序,后面内容无需排序。
flag = true;
System.out.println("循环"+i+"次");
for(int j=0;j<arraySource.length-i;j++){
if(arraySource[j]>arraySource[j+1]){
temp = arraySource[j];
arraySource[j]=arraySource[j+1];
arraySource[j+1] = temp;
flag = false;
}
}
if(flag){
break;
}
}
return arraySource;
}
public static void main(String args[]){
int[] arr = new int[]{
0,2,1,3,4,5,6};
for(int i =0;i<arr.length;i++){
System.out.print(arr[i]+",");
}
System.out.println("排序后情况");
maopaoTest mt