冒泡排序
public static void main(String[] args) {
int[] arr={1,25,4,7,0,56,887,2};
int[] sort = maopaoSort(arr);
for (int i = 0; i < sort.length; i++) {
System.out.print(arr[i]+"\t");
}
}
private static int[] maopaoSort(int[] arr){
int length = arr.length;
while (true){
for (int i = 0; i < length; i++) {
if (i+1<length&&arr[i]>=arr[i+1]){
int temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}
length--;
if (length<=1){
break;
}
}
return arr;
} 结果:0 1 2 4 7 25 56 887
public class BubbleSort {
public static void main(String[] args) {
// 创建一个数组,这个数组元素是乱序的
int[] array = { 63, 4, 24, 1, 3, 15 };
// 创建冒泡排序类的对象
BubbleSort sorter = new BubbleSort();
// 调用排序方法将数组排序
sorter.sort(array);
}
public void sort(int[] array) {
for (int i = 1; i < array.length; i++) {
// 比较相邻两个元素,较大的数往后冒泡
for (int j = 0; j < array.length - i; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];// 把第一个元素值保持到临时变量中
array[j] = array[j + 1];// 把第二个元素值保存到第一个元素单元中
array[j + 1] = temp;// 把临时变量也就是第一个元素原值保持到第二个元素中
}
}
}
showArray(array);// 输出冒泡排序后的数组元素
}
public void showArray(int[] array) {
for (int i : array) {// foreach格式遍历数组
System.out.print(i+" ");// 输出每个数组元素值
}
System.out.println();
}
} //冒泡排序
public class BubbleSort{
public void BubbleSort(int arr[]){
//从小到大,进行冒泡排序,大的冒出来
for(int i=1;i<arr.length;i++){//进行arr.length-1次排序
int temp;//定义临时变量
for(int j=0;j<arr.length-i;j++){//从第一趟排序开始,固定第一大的,需要进行arr.length-i次排序
if(arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
public static void main(String []args){
int arr[]=new int[]{1,3,2,8,4,9};
BubbleSort.BubbleSort(arr);
System.out.println(Arrays.toString(arr));
}
} public static void bubbleSprt(int arr[]){
int[] arr = new int[]{5,6,4,3,7};
int temp;//临时变量
boolean flag;//标志位
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j] > arr[j+1]){
flag = true;
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
if(!flag){
break;
}else{
flag = false;
}
}
}