![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
文章平均质量分 66
liuchenjane
这个作者很懒,什么都没留下…
展开
-
计数排序
//计数排序,假设输入的n个元素都在0~k之间,其中k为某个整数//基本思想:对于每一个输入元素x,确定小于x的元素个数。//时间复杂度:O(n),空间复杂度:O(n) #include #include using namespace std;void count_sort(vector& A,vector & B, int k)//B存放排序后的输出,C提供临时存储空间{ ve原创 2016-11-05 08:47:05 · 274 阅读 · 0 评论 -
147. Insertion Sort List
147. Insertion Sort ListSort a linked list using insertion sort.题意:插入排序的链表实现。思路:定义两个链表指针start和end,start指向已经排好序的链表的指针头,end指向已经排好序的指针的结尾。例如对于:eg: 1->2->4->5以排好序)->3->......;这里start指向1,end指向5原创 2016-11-05 20:48:45 · 356 阅读 · 0 评论 -
179. Largest Number
Given a list of non negative integers, arrange them such that they form the largest number.For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330.Note: The result may be very large,转载 2016-11-28 20:36:08 · 253 阅读 · 0 评论 -
希尔排序和插入排序
//第7章,排序#include #include using namespace std;const int N=6;int A[N]={34,8,64,51,32,21} ;void insertion_sort(int A[],int n){ int j,p; for(p=1;p<N;p++) { int tmp=A[p]; for(j=p;j>0&&A[j-1]原创 2016-11-14 22:08:27 · 376 阅读 · 0 评论 -
148. Sort List
Sort a linked list in O(n log n) time using constant space complexity.思路:采用类似数组的分治排序的思想对链表进行排序,使其时间复杂度达到 O(n log n) 的要求。先将链表分割成两部分,分别对其排好序。再将排好序的链表进行合并。/** * Definition for singly-linked list.原创 2016-12-17 20:56:12 · 269 阅读 · 0 评论 -
排序总结
1. 直接插入排序//直接插入排序void insert_sort(int a[], int n){ int i, j, temp; for (i = 1; i < n; i++) { //暂存下标为i的数 temp = a[i]; //从后往前找要插入的位置 for (j = i - 1; j >= 0 &原创 2017-04-26 16:18:18 · 279 阅读 · 0 评论 -
快速排序的稳定化实现
稳定排序的概念: 保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。 例如:a[i]==a[j]&&i通常的快速排序为什么不稳定?快速排序初始的版本:int partition(vector<int>&a, int s, int e) { if (s < e) { int low = s, high = e, key = a[s];原创 2017-06-07 17:38:48 · 18001 阅读 · 10 评论