//------------------------------队列----------------------------------------//
//队列与栈相反,是一种先进先出(FIFO)的线性表。它只允许在表的一端进行插入,而在另一端删除元素
//允许插入的一端叫做队尾(rear),允许删除的一端叫做队头(front)
//给链队列增加一个头结点,并令头指针指向头结点。空的链队列...
分类:
其他好文 时间:
2014-10-21 17:49:03
阅读次数:
299
选择排序(假设递增排序)
每次选取从当前结点到末尾结点中最小的一个与当前结点交换,每一轮固定一个元素位置。
时间复杂度O(n^2),空间复杂度O(1)。下面的示例代码以带头结点的链表为存储结构:
#include
#include
#define Elemtype double
struct Node
{
Elemtype data;
struct Node *next;
};
void...
分类:
编程语言 时间:
2014-10-10 21:50:04
阅读次数:
225
思路:采用中序遍历的方法,visit函数需要完成的功能为:
1、当前节点的左子节点指向上一次访问的节点;
2、将上一次访问节点的右子节点指向当前节点;
3、最后更新上一次访问节点为当前节点。
在第二步时需要判断上一次访问节点是不是为NULL,如果是,则第二步改为链表的头结点指向当前节点。
程序如下:
struct BSTnode
{
int data;
BSTnode * left...
分类:
其他好文 时间:
2014-10-07 13:20:23
阅读次数:
136
要求:就是建一个带一个头结点的链表,然后将链表逆置即可。。。主要就是讲插入方式变一下即可。。
代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define eps 1e-9
#define ll long long
#define INF 0x3f3f3f3f
using...
分类:
其他好文 时间:
2014-09-30 02:39:41
阅读次数:
166
标兵结点(头结点)是在链表中的第一个结点,不存放数据,仅仅是个标记
利用标兵结点可以简化代码。下面实现双向链表中的按值删除元素的函数,分别实现
带标兵结点和不带标兵结点两版本,对比可见标兵结点的好处。
结点声明如下:
struct Node
{
int value;
Node *prev;
Node *next;
};
int del_doublelist(Node*&h,int...
分类:
其他好文 时间:
2014-09-30 01:21:31
阅读次数:
322
实验内容
1 初始化一个带表头结点的单链表。
2 从表头不断插入结点建立一个带表头结点的单链表。设表中元素的类型为整型,元素值从键盘输入。
3 从表尾不断插入结点建立一个带表头结点的单链表。设表中元素的类型为整型,元素值从键盘输入。
4 打印一个带表头结点的单链表。
5 清空一个带表头结点的单链表。
代码:(只是把各个函数写好,并给出了调用数据,其他根据实验要求改就行了)
...
分类:
其他好文 时间:
2014-09-25 16:41:32
阅读次数:
467
//后插法建立链表,然后从第二个元素(若有的话)开始依次插入到头结点后面从而达到反转链表的效果
题目描述:
输入一个链表,反转链表后,输出链表的所有元素。
(hint : 请务必使用链表)
输入:
输入可能包含多个测试样例,输入以EOF结束。
对于每个测试案例,输入的第一行为一个整数n(0
输入的第二行包含n个整数t(0
输出:
对应每个测试案例,
以此输出链表反转后的元素,如...
分类:
其他好文 时间:
2014-09-24 23:15:18
阅读次数:
224
最近一段时间在看算法,发现实现链表有联众方法,本科的时候学习数据结构,对于链表来说,会先建立一个头结点,firstNode,而这个first结点本身是一个node,只不过值域为空,而next域则是指向随后的结点。而在Robert Sedgewick的算法书中,是另一种实现方法,first是一个指针....
分类:
其他好文 时间:
2014-09-24 20:00:37
阅读次数:
308
继续我们昨天所说的单链表。单链表也是一种线性表,所以总得有个头有个尾。链表中第一个结点的存储位置叫做头指针,那么整个链表的存取就必须是从头指针开始进行了。之后的每一个结点,其实就是上一个的后继指针指向的位置。雅加达娱乐城这里有个地方要注意,就是对头指针概念的理解,这个很重要。“链表中第一个结点的存储...
分类:
其他好文 时间:
2014-09-24 13:16:56
阅读次数:
198
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},请重建出二叉树并输出它的头结点。解法思路:在二叉树的前序遍历中,第一个数..
分类:
其他好文 时间:
2014-09-23 19:27:15
阅读次数:
159