本文目录一览:
数据结构高手来啊~~~谢谢
分太少了 这个是必会的,我这个你应该作为参考。。
#include iostream
using namespace std;
typedef struct node
{
int data;
node *next;
} node, *list;
list CreateLinklist()
{
list head = NULL, tail = NULL, temp = NULL;
int n, data;
cin >> n;
head = new node;
cin >> data;
head->data = data;
head->next = NULL;
tail = head;
for (int i = 0; i < n - 1; i++)
{
temp = new node;
cin >> data;
temp->data = data;
temp->next = NULL;
tail->next = temp;
tail = temp;
}
tail->next = NULL;
return head;
}
void OutputLinklist(list head)
{
list temp;
temp = head;
while (temp)
{
cout << temp->data << " ";
temp = temp->next;
}
cout << endl;
}
list ContLinklist(list a1, list a2)
{
list tail, a3;
tail = a1;
a3 = a1;
while (tail->next)
{
tail = tail->next;
}
tail->next = a2;
return a3;
}
void main()
{
list a1, a2, a3;
a1 = CreateLinklist();
a2 = CreateLinklist();
a3 = ContLinklist(a1, a2);
OutputLinklist(a3);
}
什么是单链表,储存上有哪些特点?
单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。 链接存储方法 链接方式存储的线性表简称为链表(Linked List)。 链表的具体存储表示为: ① 用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的) ② 链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息(称为指针(pointer)或链(link)) 链式存储是最常用的存储方式之一,它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。
什么是单链表
单链表 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。 链表中的数据是以节点来表示的,每个节点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个节点的地址数据。 以“结点的序列”表示线性表称作线性链表(单链表) 单链表是链式存取的结构,为找第 i 个数据元素,必须先找到第 i-1 个数据元素。 因此,查找第 i 个数据元素的基本操作为:移动指针,比较 j 和 i
数据结构单链表?
举一个现实中的例子你就明白了:
假设有 a、p、c、d、e 5 个小朋友依次手拉着手组成了一个链表 a-p-c-d-e,现在来了一个小朋友 q,老师要他插到 p 的后面,如果他只拉着 p 的手,而不拉着 c 的手,那链表是不是就断了,变成了两个链表 a-p-q 和 c-d-e。
所以,这里的 q->next = p->next;
的意思就相当于让 q 的一只手先拉着 c 的一只手(此时的 c 一只手拉着 p 和 q,另一只手拉着 d),而 p->next = q;
的意思就相当于让 p 松开与 c 的手转而拉着 q 的另一只手,这样就形成了一个完整的链表。
当然,在现实中 q 和 p、c 中的谁先拉手是不重要的,但对于链表,q 必须先和 c 拉手,因为只有通过 p->next 才能找到 c,如果 q 先和 p 拉手(即执行 p->next = q;
),那链表就断了,再也没有办法找到 c 了(因为现在的 p->next 是 q 而不是 c 了,也没有其它指针指向 c)。
总之记住,在链表中插入一个结点时顺序很重要,是先连后断。
比如,要将 x 插在 p 和 q 之间,必须先令 x 和 q 连接起来,然后断开原来的 p 和 q 之间的连接,转而令 p 和 x 建立连接。