- 博客(12)
- 资源 (12)
- 收藏
- 关注
原创 数据结构之链栈实现
顺序栈和链栈的优缺点在我就不赘述了,她们只是存储方式的区别罢了。不过链栈的好处就是她存储数据的数量是动态变化的,只在你需要的时候增加或删除。这里需要重提的一个问题是在使用free()函数释放空间后需要将指针置空,防止野指针。typedef struct StackNode{ int data; struct StackNode *next;}StackNode;typedef
2013-06-19 14:10:40 898 1
原创 数据结构之顺序栈实现
栈是一种后进先出(LIFO)的数据存储结构,我们可以把她想象成一个圆筒形的饼干盒,里面的饼干就代表一个一个的数据。当你想要吃饼干的时候,你只能从上到下一块一块的吃。如果上面的饼干没吃完,你无法拿到下面的饼干。同样的,当你往盒子里放饼干的时候,先放进去的饼干总是在盒子的下部,这样当你吃的时候拿的总是你后放进去的饼干。往盒子里放饼干和从盒子里拿饼干吃这2个过程就是我们对栈的2个基本操作:push(放饼
2013-06-19 11:21:34 727
原创 面试题:判断单链表是否为循环链表-快慢指针
题目:判断单链表是否为循环链表(判断链表中是否存在环)分析:使用快慢2个指针,2个指针都从链表头开始遍历,快指针每次移动2个结点,满指针每次移动1个结点。若链表中存在环,则快慢2指针后在链表的某一位置相遇,否则她们不会相遇。typedef struct Lnode{ int data; struct Lnode *next;}*Linklist;//检测单链表是否为循环链表
2013-06-19 10:25:12 1939
原创 数据结构之双向链表实现
与单向链表不同,双向链表的每一个结点除了包含数据外,还包含一头一尾2个指针,分别指向他的前驱结点和后继结点,这样在已知某一结点时,查找他的前驱结点和后继结点就很方便。但是因为有2个指针,存储时消耗的空间大,并且操作起来比单向链表复杂。总之一句话,单向链表能做的双向链表都能做,但双向链表能做的单向链表不一定能做。typedef struct DuLNode{ int data; s
2013-06-19 09:55:36 615
原创 面试题:向无头单链表的某一已知结点之前插入结点
题目:已知某一无头单链表的某一结点p(不是第一个,也不是最后一个),向该结点之前插入已知结点q。//*****************************************//题目:已知一个不知道头结点的单链表的某一个// 结点(不是头结点也不是最后一个结点),// 怎样在此结点之前插入一个新结点?//***********************
2013-06-18 14:42:26 1236
原创 面试题:从无头链表中删除已知结点
题目:从无头单向链表中删除已知结点(不是头结点也不是最后一个结点)分析:由于是无头单向链表,故无法根据现有的结点找到他的前一个结点,只能找到他 的下一个结点。采用替换的方式,将该结点的下一个结点的内容赋给他,然后删除他的下一个结点,则可以达到目的。//***********************************************//题目:在一个没有头结点的单向链表
2013-06-18 10:41:17 920
原创 数据结构之单向链表实现
在单向链表中,数据被存储在一个一个的“结点”中,这些“结点”在内存中并非是处于相邻的位置,而是“见缝插针”,由系统分配在一小块一小块的内存中。在进行插入数据的操作时,你需要告诉系统你需要一块内存,系统会根据你设定的大小在堆中寻找空闲的内存用来存储新的“结点”;而在进行删除操作时,你需要手动将要删除的“结点”的空间释放掉,同时注意将其置空(NULL)。这样,链表的存储结构克服了顺序表的插入与删除数据
2013-06-18 09:56:47 577 1
原创 张家界之旅
行程安排: 6月13日 晚,下班直奔高铁站,晚11点到长沙,入住酒店。 12点:火宫殿品小吃 臭豆腐 6月14日 上午:坐大巴直奔张家界 下午:游袁家界,爬天子山,徒步下山 6月15日 上午:赏金鞭溪 小溪流水人家、野生猕猴
2013-06-17 11:24:21 1682
原创 数据结构之顺序表实现
顺序表是ADT中的基本类型,它一般用数组来储存数据的数据。顺序表的优点是存储数据方便,缺点是插入和删除数据时,需要移动结点。#include #include //typedef int datatype;//定义顺序表的元素类型#define LIST_INIT_SIZE 20 //顺序表存储空间初始分配量#define LIST_INCREMENT 2 //顺序表存储空
2013-06-17 11:08:44 699
原创 ACM题库系列:谁拿了最多的奖学金
Problem description 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同: 1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得; 2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得; 3) 成绩优秀
2012-12-21 00:09:34 755
原创 开始学习python--不要以没时间为借口
从今年的5月份起,我就知道有这门语言了,看到它的第一眼我就被深深地吸引了。当时我就下定决心把这门语言掌握,不管是出于兴趣还是将来工作的需要。我是一个有点三分钟激情的人,对一件事往往很难坚持做下来。在网上看了大家的推荐后,觉得电子书看着没意思,就买了一本《python基础教程(第二版)》。刚开始的几天确实每天都会看几页,然后在电脑上实践,但这样的情况并没有持续多久,这本书马上被我”冷处理“了。我给自
2012-11-30 17:16:28 693
原创 一个简单的计算从1到1000000000所花时间的小程序
最近在看《算法:C语言实现(第1~4部分)》,在第二章有一个小程序,是计算从1到1000000000所花的时间。这个程序很简单,只需要3个简单的for循环就实现了,但怎样计算程序运行的时间却让我犯了难,似乎以前还没有这样干过。在网上查找了资料以后,整理的程序实现如下。/*===========================================================*
2012-11-20 09:58:14 2602
emacs中文手册.pdf
2012-09-29
华为中兴百度历届c c++面试题
2012-09-12
python程序开发指南
2012-09-09
[Python基础教程(第2版)].pdf
2012-09-09
Python核心编程
2012-09-09
Python库参考手册(Python Library Reference)
2012-09-09
简明 Python 教程
2012-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人