排序:
默认
按更新时间
按访问量

【排序算法】:九大排序算法总结

直接插入排序参考博客:【排序算法】:直接插入排序 时间复杂度: 平均情况:O(N^2) 最好情况:O(N) 最坏情况:O(N^2) 空间复杂度:O(1) 稳定性:稳定希尔排序参考博客:【排序算法】:希尔排序时间复杂度: 平均情况:O(N^1.3) 最好情况:O(N) 最坏情况:O(N^2) 空...

2017-08-14 18:27:49

阅读数:190

评论数:0

【排序算法】:基数排序

定义基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlo...

2017-08-14 17:53:13

阅读数:134

评论数:0

【排序算法】:计数排序

思路: 设被排序的数组为A,排序后存储到B,C为临时数组。所谓计数,首先是通过一个数组C[i]计算大小等于i的元素个数,此过程只需要一次循环遍历就可以;在此基础上,计算小于或者等于i的元素个数,也是一重循环就完成。下一步是关键:逆序循环,从length[A]到1,将A[i]放到B中第C[A[i]...

2017-08-14 14:58:08

阅读数:183

评论数:0

【排序算法】:归并排序

介绍归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 归并过程...

2017-08-11 16:50:32

阅读数:131

评论数:0

【排序算法】:快速排序

介绍快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。三数取中我们在 进行快...

2017-08-11 16:38:08

阅读数:199

评论数:0

【排序算法】:冒泡排序

介绍原理:(升序) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 时间...

2017-08-11 14:22:29

阅读数:105

评论数:1

【排序算法】:堆排序

介绍堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的升序排序中...

2017-08-11 11:16:37

阅读数:124

评论数:0

【排序算法】:选择排序

介绍选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪...

2017-08-11 11:02:45

阅读数:131

评论数:0

【排序算法】:希尔排序

介绍希尔排序是一种插入排序算法,它出自D.L.Shell,因此而得名。Shell排序又称作缩小增量排序。原理图: 思想:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2代码实现v...

2017-08-11 10:47:20

阅读数:145

评论数:0

【排序算法】:直接插入排序

介绍思想:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 实现原理:第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从后向前扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。 ...

2017-08-11 10:17:22

阅读数:116

评论数:0

C++智能指针(三):weak_ptr--解决shared_ptr循环引用问题

weak_ptr--解决shared_ptr循环引用问题 我们在上篇博客讲了模拟实现三种智能指针:模拟实现三种智能指针循环引用但是我们说了,shared_ptr存在循环引用的问题。我们先介绍一下什么是shared_ptr的循环引用。我们知道,智能指针shared_ptr采用的是引用计数的方式,下面...

2017-08-11 09:48:18

阅读数:281

评论数:0

C++智能指针(二):模拟实现三种智能指针

上一篇博客我们简单介绍了智能指针:简单介绍智能指针有关shared_ptr的循环引用问题可以参考博客:weak_ptr–解决shared_ptr循环引用问题auto_ptr模拟实现template<class T> class Autoptr { public: Autoptr...

2017-08-10 21:47:25

阅读数:240

评论数:0

C++智能指针(一):智能指针的简单介绍

智能指针的简单介绍,RAII,auto_ptr,scoped_ptr(boost) unique_ptr(c++11) 防拷贝 –简单粗暴的设计 ,3.shared_ptr(boost/c++11) 引用计数 –功能强大(支持拷贝,支持定制删除器) 缺陷–循环引用(可采用weak_ptr配合解决 ...

2017-08-10 21:11:59

阅读数:95

评论数:0

C/C++内存管理:malloc/calloc/realloc区别和联系

malloc/calloc/realloc区别和联系。用法详解 头文件它们三个头文件均为:#include <stdlib.h>函数原型mallocvoid *malloc(size_t size);void* 表示未确定类型的指针,void *可以指向任何类型的数据. **参数:*...

2017-08-09 11:38:09

阅读数:93

评论数:0

详解初始化列表

初始化列表定义构造函数有个特殊的初始化方式叫“初始化表达式表”(简称初始化列表)。初始化列表位于函数参数表之后,却在函数体 {} 之前。这说明该表里的初始化工作发生在函数体内的任何代码被执行之前。Date(int year, int month, int day)//带参构造函数 ...

2017-08-08 13:01:04

阅读数:154

评论数:0

详解C++类中的6个默认成员函数

构造函数定义成员变量为私有的,要对他们进行初始化,必须用一个共有成员函数来进行。同时这个函数应该有且仅在定义对象时自动执行一次,这时调用的函数称为构造函数(constructor)。特征: 函数名与类名相同。 无返回值。 对象构造(对象实例化)时系统自动调用对应的构造函数。 构造函数可以重载。 构...

2017-08-08 12:37:43

阅读数:144

评论数:0

strdup详解和模拟实现

模拟实现strdup。strdup和strcpy的区别。strdup函数介绍函数原型:char* strdup(const char* str)函数功能:将串拷贝到新建的位置处 返回值:返回一个指针,指向为复制字符串分配的空间;如果分配空间失败,则返回NULL值。 注意:strdup不是标准的...

2017-08-07 09:57:59

阅读数:206

评论数:0

模拟实现strstr函数

strstr函数简介函数原型:char *strstr( const char *string, const char *strCharSet );函数功能:搜索一个字符串在另一个字符串中的第一次出现。 返回值:若strCharSet是string的子串,则返回strCharSet在string...

2017-08-06 21:50:39

阅读数:145

评论数:0

strchr、strrchr、memchr函数详解及模拟实现

strchr函数介绍函数原型:char* strchr(const char* string,int c);函数功能:在字符串中查找指定字符的第一个出现 返回值:如果成功,返回该字符以及其后面的字符,如果失败,则返回 NULL。 代码实例:char arr[] = "0asdfgqw...

2017-08-06 20:34:20

阅读数:289

评论数:0

shell基本语法及实现彩色进度条

基本语法条件测试:test [条件测试test或[可以测试一个条件是否为真。如果测试结果为真,则该命令的退出码为0,如果测试结果为假,则命令的退出码为1(注意与C语言的逻辑表示正好相反)。 例如:测试两个数的大小关系 其中:虽然看起来很奇怪,但左⽅括号[确实是⼀个命令的名字,传给命令的各...

2017-07-21 19:43:03

阅读数:176

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭