几种常见的排序算法(C++版)
来源:互联网 发布:linux 物理内存 编辑:程序博客网 时间:2024/06/03 16:48
1、冒泡法
4 3 2 1
复杂度O(n*n);
一共要进行3次遍历,即(n-1)次;
每次遍历需要(n - 1 - i)次;
冒泡排序是稳定的排序。
#include <iostream>using namespace std;void bubble_sort(int a[], int n){int loop_times = 0;int changes = 0;for(int i = 0; i < n - 1; i++){for(int j = 0; j < n - i - 1; j++){if(a[j] > a[j+1]){swap(a[j], a[j+1]);changes = 1;}loop_times++;}if(changes == 0){break;}}cout<<"loops = "<<loop_times<<endl;}
2、快速排序。
快速排序是一种不稳定的排序算法。
void QuickSort(int a[], int head, int tail){int left = head;int right = tail;int key = a[left];if(head >= tail){return;}while(left < right){while(left < right && a[right] >= key)right--;a[left] = a[right];while(left < right && a[left] <= key)left++;a[right] = a[left]; }a[left] = key;QuickSort(a, head, left - 1);QuickSort(a, left + 1, tail);}
0 0
- 几种常见的排序算法(C++)
- 几种常见排序算法的c语言实现
- 几种常见排序算法的C语言实现
- 几种常见排序算法的c语言实现
- 几种常见排序算法的c语言实现
- 几种常见的排序算法(C++版)
- C语言几种常见排序算法(一)
- 排序算法:几种常见的排序算法的C语言代码
- 几种常见的排序算法
- java常见的几种排序算法
- 几种常见的排序算法
- 几种常见的排序算法
- 几种常见的排序算法
- 几种常见的排序算法小结
- 几种常见的排序算法实现
- 几种常见的排序算法
- 几种常见的排序算法
- 几种常见的排序算法
- python3 从基础入门到高级进阶练习题之----基础篇003
- STM32使用模拟IIC实现24C02读取
- android view实现滑动的六种方法
- 单选->多选->多选,功能实现
- Linux C编程常用API及案例
- 几种常见的排序算法(C++版)
- Linux用户理解及文件权限设置
- liunx各个文件下的内容
- Python学习笔记
- WebSocket connection to 'ws://localhost:8080/xxx' failed: Error during WebSocket handshake...
- Android消息处理机制之AsyncTask使用总结
- mina通信服务容量缓存问题
- iOS 中的随机数
- Android Sutdio libs 下的 jar 包死活关联不上