几种常见的排序算法

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/13 14:24:33
几种常见的排序算法几种常见的排序算法几种常见的排序算法for(i=0;i<n;i++)for(j=0;j<n-1-i;j++){if(arr[j]arr[j+1]){arr[j]=arr[

几种常见的排序算法
几种常见的排序算法

几种常见的排序算法
for(i = 0; i < n; i++)
for(j = 0; j < n - 1 - i; j++){if(arr[j] arr[j + 1]){arr[j] = arr[j] ^ arr[j+1];
arr[j+1] = arr[j] ^ arr[j+1];
arr[j] = arr[j] ^ arr[j+1];}}}
交换两个数据,可以用用临时变量,也可用以下的两个方法a = a^b;b = a^b;a = a^b;或者
a = a + b;b = a - b;a = a - b;// 选择排序
void SelectSort(int arr[], int n){int i, j;int min;
for(i = 0; i < n - 1; i++){int index = 0;
min = arr[i];
for(j = i + 1; j < n; j++) //找出 i+1 - n 无序区的最小者与arr[i]交换{if(arr[j] < min){min = arr[j];index = j;}}if(index != 0) //表明无序区有比arr[i]小的元素{arr[i] = arr[i]^arr[index];
arr[index] = arr[i]^arr[index];
arr[i] = arr[i]^arr[index];}}}感觉比冒泡法好多啦
//快速排序算法