Description建立一个长度为n的带头结点的单链表,在该表中寻找第i个结点,若找到,则输出“OK!”,否则输出“error!”。处理数据类型为整型。input第一行为链表的长度n; 第二行为链表中的数据元素; 第三行为要找的结点i。Output找到就输出“OK!”,没找到就输出“error!”...
分类:
编程语言 时间:
2015-04-07 19:24:07
阅读次数:
295
/*多项式加法运算使用链表实现*/#include using namespace std;//使用不带头结点的单向链表,按照指数递减的顺序排列typedef struct PolyNode{ int coef; //系数 int expon; //指数 PolyNod...
分类:
其他好文 时间:
2015-02-05 20:03:39
阅读次数:
111
//---单链表的单链式存储结构----
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
//1.初始化
int Initlist(LinkList L)
{
L=NULL;
return OK;
}
//初始化(带头结点)
int Initlist(LinkList L)
{
L...
分类:
其他好文 时间:
2015-01-29 12:43:17
阅读次数:
257
#include
#include
typedef struct LinkNode
{
struct LinkNode* next;
int data;
}LinkList;
/*说明:都带头结点的单链表*/
/*创建链表*/
void createLinkList(LinkList* head, int* a, int n)
{
int i = 0;
Link...
分类:
其他好文 时间:
2015-01-24 10:17:34
阅读次数:
256
#include
#include
typedef struct LinkNode
{
struct LinkNode* next;
int data;
}LinkList;
/*说明:都带头结点的单链表*/
/*创建链表*/
void createLinkList(LinkList* head, int* a, int n)
{
int i = 0;
Link...
分类:
其他好文 时间:
2015-01-24 10:16:27
阅读次数:
156
题目:输入带头结点的单链表L,输出该单链表中倒数第k个结点。单链表的倒数第0个结点为该单链表的尾指针。要求只能遍历一次单链表。
解题思路:
如果不要求只能遍历一次单链表,我们可以先遍历一次单链表,求出它的结点的总个数n(包括头结点),所以单链表的结点是从倒数第n-1个到倒数第0个,然后再遍历一次单链表,遍历时访问的第n-k-1个结点就是该单链表中倒数第k个结点。现在要求只能遍历...
分类:
编程语言 时间:
2015-01-17 18:10:44
阅读次数:
162
题目:删除带头结点的单链表中重复值的元素(即让每种值的元素只有一个)
解题思路:
用一个动态辅助存储数组,每次要向辅助数组中放入元素时,让辅助数组的长度加1,最长时与单链表一样长,设一个指针p,让它指向头结点,从单链表中第一个元素开始,将它的值放入辅助数组中,然后依次访问单链表后面的元素,用该元素的值与数组中所有已经被赋值的元素的值进行比较,如果不等于数组中任何元素的值,那么让p的...
分类:
编程语言 时间:
2015-01-17 11:20:26
阅读次数:
201
题目:删除带头结点的单链表L中的结点p,p不是最后一个结点,要求时间复杂度为O(1)。
解题思路:
如果不要求时间复杂度为O(1),我们可以找出p的前驱结点,然后很容易就删除p。
现在要求时间复杂度为O(1),因为p不是最后一个结点,知道结点p我们可以删除p的后继结点,那么我们可以把p的后继结点元素的值赋给p结点元素的值。
ADT定义:
//单链表的结点类
class LNo...
分类:
编程语言 时间:
2015-01-17 11:17:47
阅读次数:
285
题目:输入带头结点的单链表L,输出该单链表中倒数第k个结点。单链表的倒数第0个结点为该单链表的尾指针。要求只能遍历一次单链表。
解题思路:
如果不要求只能遍历一次单链表,我们可以先遍历一次单链表,求出它的结点的总个数n(包括头结点),所以单链表的结点是从倒数第n-1个到倒数第0个,然后再遍历一次单链表,遍历时访问的第n-k-1个结点就是该单链表中倒数第k个结点。现在要求只能遍历一次单链...
分类:
其他好文 时间:
2015-01-15 11:01:22
阅读次数:
121
题目:删除带头结点的单链表L中的结点p,p不是最后一个结点,要求时间复杂度为O(1)。
解题思路:
如果不要求时间复杂度为O(1),我们可以找出p的前驱结点,然后很容易就删除p。
现在要求时间复杂度为O(1),因为p不是最后一个结点,知道结点p我们可以删除p的后继结点,那么我们可以把p的后继结点元素的值赋给p结点元素的值。
ADT定义如下
#define ElemType int...
分类:
其他好文 时间:
2015-01-13 17:47:09
阅读次数:
181