【数据结构】冒泡排序
1、c语言实现
// 算法实现原则 // 例如五个元素,就要排序4趟 // 每趟都是相邻的两个元素再比较 // 每趟都会把最大的那个元素往最后移 void bubbleSort(int arr[], int len){ for(int j=0;j<len-1;j++){ int swap; for (int i = 0; i <len-1-j; i++){ // len-1-j 表示前一次最大到那个数已经排到了最后,不需要再加入排序 swap = arr[i+1]; if(arr[i]>arr[i+1]){ arr[i+1] = arr[i]; arr[i] = swap; } } } } int main(){ int arr[] = {22, 34, 3, 32, 82, 55, 89, 50, 37, 5, 64, 35, 9, 70 }; int len = (int) sizeof(arr) / sizeof(*arr); bubbleSort(arr,len); printf("%s \n","排序后数组 :"); int i = 0; while (i<len){ printf("%d ",arr[i]); i++; } printf("\n"); return 0; }
2、python语言实现
def bubble_sort(arr: list): for i in range(len(arr) - 1): for j in range(len(arr) - 1 - i): swap = arr[j + 1] if arr[j] > arr[j + 1]: arr[j + 1] = arr[j] arr[j] = swap
“年轻时,我没受过多少系统教育,但什么书都读。读得最多的是诗,包括烂诗,我坚信烂诗早晚会让我邂逅好诗。”
by. 马尔克斯