排序
文章平均质量分 94
常见排序算法
失落的换海迷风
关注我了解最近咨询
展开
-
【春招】十大经典排序算法
文章目录1、冒泡排序1.1 算法思路1.2 代码实现1.3 链接2、选择排序2.1 算法思路2.2 代码实现2.3 算法分析2.4 链接3、插入排序3.1 算法思路3.2 代码实现3.3 算法分析3.4 链接4、希尔排序4.1 算法思路4.2 代码实现4.3 算法分析4.4 链接5、归并排序5.1 算法思路5.2 代码实现5.3 算法分析5.4 链接6、快速排序6.1 算法思路6.2 代码实现6.3 链接7、堆排序7.1 算法思路7.2 代码实现8、计数排序1.1 算法思路1.2 代码实现9、桶排序1.1原创 2021-03-08 23:39:40 · 397 阅读 · 0 评论 -
希尔排序
//希尔排序//属于插入排序,解决数据量大,而且数组还不接近有序//gap进行分组,对每一组的数据进行排序,最后gap--到1,就很容易排好,这样花费的时间复杂度较小void ShellSort(int* array, int size){ int gap = 3;//gap表示间隔,分组数据之间的间隔 while (gap >= 1) { ...原创 2020-04-02 17:56:13 · 123 阅读 · 0 评论 -
归并排序
#pragma once#include <string.h>#include <malloc.h>#include <assert.h>#include <stdio.h>#include <string.h>void MergeData(int* array, int left, int mid, int right, i...原创 2020-04-22 21:56:54 · 119 阅读 · 0 评论 -
【排序】快速排序及其优化
1.基本操作1.交换函数在排序中交换数字,达到排序的目的void Swap(int *left, int* right){ int temp = *left; *left = *right; *right = temp;}2.第一种排序先标记基准值(这里先取最后一个元素为基准值,记录起来),之后定义两个指针,然后前后遍历,找到比基准值大的或者小的的元素的位置,然后进行标记,标...原创 2020-04-16 18:36:13 · 425 阅读 · 0 评论 -
【数据结构】对链表进行插入排序
/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode;struct ListNode* insertionSortList(struct Lis...原创 2020-03-09 17:40:47 · 134 阅读 · 0 评论 -
【排序】选择排序及其优化
void SelectSort(int* array, int size){ //size-1:每次都会排好一个数据,所以每次都需要进行-1 for (int i = 0; i < size - 1; i++) { //用maxPos标记最大的数据 int maxPos = 0; //size-i:后面数据已经排好序了,...原创 2020-04-05 12:31:34 · 416 阅读 · 0 评论 -
【排序】冒泡排序及其优化
冒泡排序算是初学者都会写的吧,我的代码竟然没有,这次就跟着排序一起发出来吧!//冒泡排序void BubbleSort(int* array, int size){ for (int i = 0; i < size - 1; ++i) { //j从0或者1开始,决定之后的j<size-i-1或size-i for (int j = 1; j < size -...原创 2020-04-12 19:59:46 · 139 阅读 · 0 评论