排序算法之选择排序和冒泡排序

xiaoxiao2021-02-28  18

选择排序在排序数组中选择一个最大或者最小的元素放到首位,然后在对除去首位的元素进行选择排序、

冒泡排序的工作原理是比较相邻的两个元素,然后把最小或者最大的元素依次交换位置(交换的次数多),而选择排序的工作原理是把找出最小或者最大元素的索引,然后只交换首元素和该索引的值即可。

选择排序 void XuanzeSort(int *arr[], int length) { int k = 0; for(int i = 0; i < length ; i++) { k = i; for(int j = i + 1; j < length; j++)     { if(arr[k] > arr[j]) k = j; } if( k != i) { temp = arr[k]; arr[k] = arr[i]; arr[i] = temp; } } } 冒泡排序 void MaopaoSort(int *arr[], int length) { for(int i =0 ; i < length -1; i++) { for(int j = length - 2 ; j >= i; j--) { if(arr[j] < arr[j+1] ) { temp = arr[j]; arr[j] = arr[j-1]; arr[j-1] = arr[j]; } } } } 冒泡排序的前i个元素已经是排好序了,所以内层循环 j>=i, 外层循环表示的是已经排好序的个数
转载请注明原文地址: https://www.6miu.com/read-1450178.html

最新回复(0)