![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
「已注销」
这个作者很懒,什么都没留下…
展开
-
冒泡排序算法实现
冒泡排序相邻元素间比较,如果前面一个元素大于后面一个元素,则两者交换,每趟循环找到最大值,循环n次,即可排序完成*#include <stdio.h>void swap(int *a, int *b){ int t = *a; *a = *b; *b = t;}void bubbleSort(int arr[], int n){ int...原创 2019-08-03 18:38:12 · 133 阅读 · 0 评论 -
归并排序实现
将需要排序的数据一分为二,直到两边都只剩一个数据,因为一个数据肯定是有序的,然后合并在合并两个有序的数列 vector<int> merge(vector<int> &nums1, vector<int> &nums2) { int count1 = 0, count2 = 0; vector<int> res...原创 2019-08-03 19:00:04 · 98 阅读 · 0 评论 -
快速排序(c语言实现)
原理分析(从小到大):1. 首先取出一个key,一般取第一个元素2. 从后往前遍历,如果数组中的数据小于了key,那么就将从前往后未比较过的第一个位置即fisrt位置替换为该数据3. 然后从前往后遍历,如果数组中的数据大于了key,那么就将从后往前的第一个比较过数据位置替换4. 直到左右两边的位置重合,说明key就找到了正确的位置,每次循环就能找到一个数的正确位置5. 然后将key左右两...原创 2019-08-05 20:19:30 · 55909 阅读 · 8 评论 -
插入排序和选择排序(c实现)
插入排序思想:1. 取出一个元素从后往前遍历2. 如果原数组中元素比他大,那么数组中该元素就往后移动3. 直到数组中元素比取出来的元素小,那么取出的元素就放在他的后面,或者直到0,就放在开头。代码示例:#include <stdio.h>void insertSort(int *arr, int n){ int i, j, key; for(i = ...原创 2019-08-07 20:42:14 · 175 阅读 · 0 评论