C语言中5大经典排序算法实例代码如何编写?

2026-05-20 07:480阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1655个文字,预计阅读时间需要7分钟。

C语言中5大经典排序算法实例代码如何编写?

1. 插入排序+基本思想:插入排序就是将一个数据元素插入到已经排好序的有序表中,从而得到一个新的、记录数增加1的有序表。基本操作是:每步将一个待排序的记录按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部插入完为止。示例代码:cppvoid insertSort(vector& nums) { int k=0; for (int i=0; i

1.插入排序

基本思想:插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。

void insertSort(vector<int>& nums) { int k = 0; for (int i = 0; i < nums.size(); ++i) { int temp = nums[i]; int j = i; for (; j > 0 && temp < nums[j-1]; --j) nums[j] = nums[j-1]; nums[j] = temp; } }

2.希尔排序

基本思想:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排序在时间效率上比前两种方法有较大提高。

阅读全文

本文共计1655个文字,预计阅读时间需要7分钟。

C语言中5大经典排序算法实例代码如何编写?

1. 插入排序+基本思想:插入排序就是将一个数据元素插入到已经排好序的有序表中,从而得到一个新的、记录数增加1的有序表。基本操作是:每步将一个待排序的记录按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部插入完为止。示例代码:cppvoid insertSort(vector& nums) { int k=0; for (int i=0; i

1.插入排序

基本思想:插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。

void insertSort(vector<int>& nums) { int k = 0; for (int i = 0; i < nums.size(); ++i) { int temp = nums[i]; int j = i; for (; j > 0 && temp < nums[j-1]; --j) nums[j] = nums[j-1]; nums[j] = temp; } }

2.希尔排序

基本思想:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排序在时间效率上比前两种方法有较大提高。

阅读全文