行业知识
c++数组排序的五种方法
2026-10-30 21:09:57
来源:互联网转载
方法一:冒泡排序
-
���较相邻的元素。如果第一个比第二个大,就交换他们两个。
-
对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。
-
重复以上的步骤,每次比较次数-1,直到不需要比较
示例:对数组4,2,8,0,5,7,1,3,9 进行排序
#includeusing namespace std;int main() {int arr[9] = { 4,2,8,0,5,7,1,3,9 };for (int i = 0; i arr[j + 1]){int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}for (int i = 0; i if(b>c) swap(b,c);
… …
方法四:快速排序
- 找到分界点x,q[L],q[(L+R)/2],q[R]
- 左边所有数Left=x
- 递归排序Left,递归排序Right
快速排序算法模板:
void quick_sort(int q[], int l, int r){ if (l >= r) return; int i = l - 1, j = r + 1, x = q[l+r>>1]; //l+r>>1的意思是l+r的值除以2取整 while (i x); if (i 方法五:归并排序
- 确定分界点:mid=(l+r)/2
- 递归排序Left,递归排序Right
- 归并 —— 合二为一
归并排序算法模板
void merge_sort(int q[], int l, int r){ if (l >= r) return; int mid = l + r >> 1; merge_sort(q, l, mid); merge_sort(q, mid + 1, r); int k = 0, i = l, j = mid + 1; while (i
下一篇:打开服务器崩溃怎么办?