![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
小风游鱼
数据库中间件相关产品开发,大数据开发
展开
-
十大排序算法之插入排序
十大经典排序算法有: 一、插入排序 (1)、直接插入排序: /* 直接插入排序,算法时间复杂度为:O(n^2), 稳定的排序算法 Written by: Qinchao Time:2016/12/3 Language: C++ */ void insertsort_1(vector &_snum, int _len) { int j = 0; int temp =原创 2016-12-03 21:32:09 · 262 阅读 · 0 评论 -
十大排序算法之计数排序
计数排序算法: void countingsort_10(vector &_snum, int _len) { vector::iterator k; k = max_element(_snum.begin(), _snum.end()); int knum = _snum[k - _snum.begin()]; vector t(knum); vector result(_len);原创 2016-12-03 21:34:30 · 447 阅读 · 0 评论 -
十大排序算法之归并排序算法
归并排序算法: /* 归并排序,算法时间复杂度为:O(nlogn), 稳定排序算法 Written by: Qinchao Time:2016/12/3 Language: C++ */ const int INFTY = 2147483647; void merge(vector &_num, int left, int mid, int right ) { int n1 = mid - l原创 2016-12-03 21:36:02 · 1058 阅读 · 0 评论 -
十大经典排序算法之交换排序
交换排序算法: 一、冒泡法: /* 冒泡排序,算法时间复杂度为:O(n^2),稳定的排序算法 Written by: Qinchao Time:2016/12/3 Language: C++ */ void bubblesort_6(vector &_snum, int _len) { int temp; for (int i = 0; i < _len; i++) for (int原创 2016-12-03 22:04:14 · 1029 阅读 · 0 评论 -
求链表中倒数第K个节点
思路: 用两个指针,第一个指针西安走k-1步,然后两个指针再一起走。当第一个指针走到尾节点时,第二个指针指向的就是倒数第K个节点。 证明: 设节点个数为m, 则第一个指针两次分别走了k-1, n-k+1步; 第二个指针走了n-k+1步, 第二个指针所处的倒数的位置为:n-(n-k+1)+1=k。原创 2017-07-16 00:14:12 · 231 阅读 · 0 评论 -
单链表的反转算法
经典单链表反转问题,不增加额外空间消耗,去对单链表进行翻转,输出逆序后的链表。 具体执行过程如下所示: 上图显示了单链表翻转算法的步骤示意图, 核心代码如下: while head->next!=NULL head->next=pre; pre=head; head=next; next=head->next;原创 2017-07-16 00:09:00 · 491 阅读 · 0 评论