算法笔记-排序:冒泡排序
冒泡排序说明
将序列中的元素两两比较,大(小)的往后移动,直到所有数据按从小到大(从大到小)排列。
冒泡排序实现
- java
public class ArrayDemo {
public static void main(String[] args) {
int[] arr = {24, 69, 80, 57, 13};
System.out.println("排序前:" + arrayToString(arr));
for (int j = 0; j < arr.length - 1; j++) {
for (int i = 0; i < arr.length - 1 - j; i++) {
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
System.out.println("排序后:" + arrayToString(arr));
}
private static String arrayToString(int[] arr) {
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
sb.append(arr[i]);
} else {
sb.append(arr[i] + ", ");
}
}
sb.append("]");
return sb.toString();
}
}
- c语言
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void) {
int arr[] = {12,32,14,62,27,8,89};
int n = sizeof(arr) / sizeof(arr[0]);
int i,j,temp;
for (i=0; i < n; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (i = 0; i < n; i++) {
printf("arr[%d]=%d\n", i, arr[i]);
}
return 0;
}