数据结构与算法分析
文章平均质量分 62
庄孝义
要么不做,要做就做最好的。
展开
-
数据结构与算法分析-用C语言实现单链表
掌握单链表很容易,把下面的代码弄懂,敲几遍,全部记住,而且记清每一个细节。首先,在List.h中声明单链表的ADT.我们把我们所需要的自定义类型啊,函数啊,都声明出来,但这里我们只是声明他们,而具体实现则是在List.c中进行。原创 2014-05-19 23:12:22 · 1851 阅读 · 0 评论 -
数据结构与算法分析-用C语言实现栈(链表方式)
这种方法用链表来表示栈,头结点始终指向栈顶的元素,每次入栈就是在头结点后面插入一个元素,而出栈则是删除头结点后面的那个元素,思想很简单,有了链表的基础,实现起来也是很容易的。那么老规矩,先将栈ADT的声明部分放在Stack.h这个头文件里。代码如下:原创 2014-05-20 10:40:35 · 1094 阅读 · 0 评论 -
数据结构与算法分析-用C语言实现栈(数组方式)
用单链表实现栈并不是最好的方法,因为出入栈都要涉及指针的操作,在一些情况下这些操作可能会花费过长的时间,最简单实现栈的方法还是用数组的方式,用一个int型的数字表示栈顶元素的位置,进栈和出栈只需要对这个数字进行自加或自减就可以了。缺点是需要提前知道栈的大小,不支持动态增加栈的容量。首先,老规矩,声明结构,类型,和常用例程。原创 2014-05-20 10:55:58 · 830 阅读 · 1 评论 -
数据结构与算法分析-Code Blocks中出现的找不到头文件的问题
我们在学习数据结构时,把声明部分放在.h文件中,而把实现部分放在.c文件中,我使用的是code blocks,que原创 2014-05-20 11:05:06 · 2554 阅读 · 0 评论 -
数据结构与算法分析-用C语言实现队列(数组方式)
队列先进先出,涉及到两个位置的操作,一个是队首,一个是队尾,我们分别用两个整型变量来表示队首和队尾,另外需要注意的是我们实现队列时要借助循环数组,具体在代码中已经很清楚了。实现过程中的技巧与用数组实现栈时大多数一样。首先,我们来声明类型,结构和例程。/*** @file Queue.h* @brief 用链表实现队列-声明ADT部分* @details* @author原创 2014-05-20 11:26:50 · 912 阅读 · 0 评论 -
数据结构与算法分析-插入排序
我们先来看一种最简答的排序方法-插入排序,插入排序通过N-1趟(Pass)排序组成,如P代表趟数,那么我们一共要从P=1到P=N-1,每一趟排序,我们可以保证从位置0到位置P-1也就是前P个元素都已经是排好序的。方法就是在第P趟时将位置P上的元素放入前P个元素组成的排序队列中去,使得前P+1个元素继续保持顺序状态,因此问题的关键就是找到P位置上的元素应该插入到排序队列的哪个位置,我们需要遍历前P个原创 2014-05-20 22:58:30 · 598 阅读 · 0 评论