编程语言
kang___xi
这个作者很懒,什么都没留下…
展开
-
数据结构之双向链表(C语言实现)
数据结构之双向链表(C语言实现)原创 2016-11-26 08:14:17 · 9604 阅读 · 12 评论 -
八大排序算法之插入排序
八大排序算法之插入排序 排序分为内部排序和外部排序,内部排序时数据记录在内存中进行排序,适用于数据量比较少的情况;而外部排序因数据量太大,内存一次不能容纳所有的数据,此时需要借助文件来进行排序。 本文这里介绍的八大排序为内部排序,然后通过内部排序来实现一种外部排序。 下面先对排序进行分类如下: 在具体实现排序之前,先介绍三个衡原创 2017-08-01 11:44:22 · 309 阅读 · 0 评论 -
c++中重载、隐藏和覆盖的区别
一、三者的定义1.重载重载分为普通函数重载、运算符重载和类型重载,在这里我们只介绍普通函数重载,包括全局作用域下的函数重载和类作用域下的函数重载。 (1)函数名相同 (2)参数列表相同(包括参数个数、参数类型和参数顺序) (3)属于同一作用域(必须是在同一个类中的成员函数或者均为全局函数,即基类和派生类中的同名函数不可能构成重载)2....原创 2017-12-15 19:19:12 · 362 阅读 · 3 评论 -
数据结构之数组(C语言实现)
数组是大家很熟悉的一种数据类型,而且在我们的程序设计中也应用非常广泛。这里以抽象数据类型的形式讨论数组的定义和实现。一、数组的定义假设n维数组中含有第i维的长度为b(i),则数组的总长度为b(0) *b(1)*...*b(n-1),每个元素都受着n个关系的约束。在每个关系中元素a(j1,j2,...,jn) (0<=jn<=b(i)-2)都有一个直接后继元素。因此,就单个关系而言,这n个关系仍然是线原创 2017-08-29 17:34:38 · 6225 阅读 · 1 评论 -
单链表相关面试题(C语言实现)
在这里给出一些关于单链表常见的面试题。一、 给定单链表,检测是否有环。1.题目分析仔细读题目发现还是有难度的,很多人刚开始会理解成就是判断一个单链表是否为循环链表,这样的理解是错的。题目的意思是指给出一条单链表,判断其中是否含有环,如“6”字型单链表就含有环。明白题目意思以后我们来说明解题思路,假设给定的单链表中有n个节点,我们可以利用两个指针fast和slow来求解问题。fast指针每次走两步,原创 2017-08-23 17:44:23 · 490 阅读 · 0 评论 -
八大排序算法总结
前面的几篇博客中已经介绍了八大排序算法,在这里最后再进行总结一下,从算法思想、空间复杂度、时间复杂度和稳定性进行总结: 一、插入排序 1.直接插入排序 直接插入排序的过程可以分为三步:一是找到待排序元素应该插入的位置;二是移动后面的元素,为待排序元素插入腾出空间;最后是插入待排序元素。 改进后的直接插入排序是从后往前比较,这样就可以边移位边找待排序元素插入的位置。 2.希尔原创 2017-08-12 23:17:09 · 229 阅读 · 0 评论 -
C语言易错点总结
关于C语言使用时的易错点总结。原创 2017-07-28 09:15:19 · 3290 阅读 · 0 评论 -
八大排序算法之交换排序
上一篇博文中已经分享了八大排序算法中两种插入排序算法--直接插入排序和希尔排序。本文来继续介绍剩下的排序算法--交换排序,包括冒泡排序和快速排序。其中关于冒泡排序还会介绍其改进后的算法,而对于快速排序则会介绍递归和非递归两种形式。说明:排序还是以从小到大为例。一、冒泡排序1.基本思想冒泡排序算法是比较常用而且特别容易理解的排序算法。每一趟冒泡过程挑选出一个最大或最小的数,N个数只需要N-1趟就可以原创 2017-08-08 10:31:36 · 425 阅读 · 0 评论 -
数据结构之带优先级的队列(C语言实现)
数据结构之带优先级的队列(C语言实现)原创 2016-12-01 21:48:15 · 5363 阅读 · 4 评论 -
数据结构之队列(C语言实现)
数据结构之队列(C语言实现)在这里将介绍三种队列:数组实现的循环队列、链表队列和具有实用价值的优先级队列。本次只介绍前两种,优先级队列在下一次博客中再单独说明。原创 2016-12-01 19:24:23 · 19316 阅读 · 6 评论 -
数据结构之循环单链表(C语言实现)
数据结构之循环单链表(C语言实现)原创 2016-11-25 22:42:19 · 2371 阅读 · 0 评论 -
数据结构之单链表(C语言实现)
数据结构之单链表(C语言实现),包括单链表的结构体结构和单链表的常用操作(初始化,插入,删除,查找,销毁等)。原创 2016-11-25 21:26:09 · 2237 阅读 · 0 评论 -
八大排序算法之选择排序
前面已经介绍了四种排序算法—-直接插入排序、希尔排序、冒泡排序和快速排序,今天再介绍两种排序算法:直接选择排序和堆排序。 这里还是以升序为例进行说明。一、直接选择排序1.基本思想直接选择排序也是比较简单,容易理解的排序算法。对于一个有N个数的序列,每次遍历过程中找到序列中值最大或者最小的元素的下标并记录下来。并将其和最左边或者最右边的元素进行交换,这样的话就可以保证每次遍历都原创 2017-08-09 11:25:17 · 352 阅读 · 0 评论