c++ ——基本排序(选择排序,交换排序,冒泡排序,插入排序)
2020-03-05 14:25
387 查看
void selection(int *a, int length)//选择排序 { for (int i = 0; i < length - 1; i++) { int pass = i; for (int j = i + 1; j < length; j++) if (*(a + pass) < *(a + j)) pass = j; if (pass != i) { int temp = *(a + i); *(a + i) = *(a + pass); *(a + pass) = temp; } } } void exchange(int *a, int length)//交换排序 { for (int i = 0; i < length - 1; i++) { for (int j = i + 1; j < length; j++) if (*(a + i) < *(a + j)) { int temp = *(a + i); *(a + i) = *(a + j); *(a + j) = temp; } } } void bobble(int *a, int length)//冒泡排序 { for (int i = 1; i < length; i++) { bool exchange = 0;//哨兵 for (int j = 0; j < length - i; j++) if (*(a + j) < *(a + j + 1)) { int temp = *(a + j); *(a + j) = *(a + j + 1); *(a + j + 1) = temp; exchange = 1; } if (exchange == 0) break; } } void insert(int *a, int length)//插入排序 { for (int i = 1; i < length; i++) { int temp = *(a + i); for (int j = i - 1; j >= 0 && *(a + j) < temp; j--) { *(a + j + 1) = *(a + j); *(a + j ) = temp; } } }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 几种基本排序的实现:选择排序,冒泡排序,插入排序,堆排序,快速排序,归并排序
- C++实现冒泡排序,选择排序,插入排序,快速排序,归并排序
- C++的几种简单地排序算法(冒泡排序,选择排序,插入排序)
- 三种基本排序算法-冒泡排序,选择排序,插入排序
- 排序-基本排序-选择排序,插入排序,冒泡排序
- 关于C++排序(选择排序、冒泡排序、插入排序、快速排序和合并排序)的一些学习心得
- 冒泡排序,选择排序,插入排序,三个基本数组排序
- 八大排序方法汇总(选择排序,插入排序-简单插入排序、shell排序,交换排序-冒泡排序、快速排序、堆排序,归并排序,计数排序)
- 笔试面试最常涉及到的12种排序算法(包括插入排序、二分插入排序、希尔排序、选择排序、冒泡排序、鸡尾酒排序、快速排序、堆排序、归并排序、桶排序、计数排序和基数排序)进行了详解。每一种算法都有基本介绍、算
- C++各种常见排序算法 冒泡排序,插入排序,快排序,选择排序,希尔排序
- java基本算法总结(冒泡排序、选择排序、插入排序)
- 算法_基本排序算法之冒泡排序,选择排序,插入排序和希尔排序
- 四种基本的排序方法:冒泡排序,选择排序,插入排序,快速排序
- 插入排序、冒泡排序、选择排序、希尔排序、高速排序、归并排序、堆排序和LST基数排序——C++实现
- 三种基本排序方法-冒泡排序,选择排序,插入排序
- 选择排序,冒泡排序,插入排序,交换排序,shell排序
- JAVA中基本的四种排序(冒泡排序,选择排序,插入排序,快速排序)
- java进阶- 经典排序(插入排序、冒泡排序、快排(分划交换排序)、直接选择排序、堆排序、合并排序)
- [PHP]基本排序(冒泡排序、快速排序、选择排序、插入排序、二分法排序)
- 插入排序是基本排序算法中最好的一种,虽然插入排序也是需要O(N^2)时间,但它比冒泡排序快一倍,比选择排序还要快点。