IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> c++排序 -> 正文阅读

[C++知识库]c++排序

1.冒泡排序:

int A[] = { 1,2,3,4,5,7,8,9,90,543,345,678,890,123,432,543,654,765,867 };
void swap(int& a,int& b) {
?? ?int tmp;
?? ?tmp = a;
?? ?a = b;
?? ?b = tmp;
}

void sortpaopao(int a[],int length) {
?? ?int loop;
?? ?for (loop = 0; loop < length - 1; loop++) {
?? ??? ?for (int i = 0; i < length - loop - 1; i++) {
?? ??? ??? ?if (a[i]>a[i+1]) {
?? ??? ??? ??? ?int tmp = a[i];
?? ??? ??? ??? ?a[i] = a[i+1];
?? ??? ??? ??? ?a[i + 1] = tmp;
?? ??? ??? ?}
?? ??? ?}
?? ?}
}

2.选择排序(不稳定)

void selectionSort(int a[], int length) {
?? ?for (int loop = 1; loop < length; loop++) {
?? ??? ?for (int j = 0; j < length - loop; j++) {
?? ??? ??? ?if (a[j] > a[length-loop]) {//把每一次循环中最大的那个放在最后面
?? ??? ??? ??? ?swap(a[j], a[length - loop]);
?? ??? ??? ?}
?? ??? ?}
?? ?}
}

3.推排序(不稳定)

void heapify(int b[],int loopSize,int i) {
?? ?int top = i;
?? ?int lson = 2 * i + 1;
?? ?int rson = 2 * i + 2;
?? ?if (lson < loopSize && b[top] < b[lson]) {
?? ??? ?top = lson;
?? ?}
?? ?if(rson < loopSize&& b[top] < b[rson]) {
?? ??? ?top = rson;
?? ?}
?? ?if (top != i) {
?? ??? ?swap(b[top], b[i]);
?? ??? ?heapify(b, loopSize, top);
?? ?}
}
void heapSort(int a[], int length) {
?? ?int i;
?? ?for (i = length / 2 - 1; i >= 0; i--)
?? ??? ?heapify(a, length, i);
?? ?for (int i = length - 1; i > 0; i--) {
?? ??? ?swap(a[i], a[0]);
?? ??? ?heapify(a, i, 0);
?? ?}
?? ?for (int j = 0; j < length; j++) {
?? ??? ?cout << a[j] << endl;
?? ?}
}

int main() {
?? ?int length = sizeof(A) / sizeof(int);
? ?// sortpaopao(A, length);

//selectionSort(A, length);
?? ?for (int i = 0; i < length; i++) {
?? ??? ?cout << A[i] << endl;
?? ?}
?? ?return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-07 10:38:51  更:2021-09-07 10:39:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:21:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码