翻看之前的书本,总结一下数据结构方面的小知识点。关于单链表的顺序结构就不说了,比较简单。
还有关于链表的插入删除,今天先写到这。
点击(此处)折叠或打开
-
- 下面用C++来简单的说明:
-
-
#include<iostream>
-
using namespace std;
-
struct List {
-
-
int data;
-
struct List *next; //结点
-
};
-
-
-
List *CreateFirst() {
-
-
List *first;
-
first = new List; //创建头结点,并初始化
-
first->next = NULL;
-
return first;
-
}
-
-
-
List *InitialList(List *first) {
//用尾插法创建链表,并赋值
-
-
-
List *p, *head;
-
/* 首插法创建链表
-
for (int i = 0; i < 10; i++) {
-
p = new List;
-
p->data = i;
-
p ->next = first ->next;
-
first ->next = p;
-
-
}**/
-
head = first;//这一步很关键,否则下面只能打印出来链表的最后一个结点的数据域
-
-
for (int i = 0; i < 10; i++) {
-
p = new List;
-
p->data = i;
-
head->next = p;
-
head = p;
-
head->next = NULL;
-
-
}
-
return first;
-
}
-
-
-
void PrintList(List *first) {
-
-
do {
-
-
first = first->next;
-
cout << first->data << "
";
-
-
} while (first != NULL);
-
}
-
int PrintLength(List *first) {
-
-
int i = 0;
-
for (List *q = first; q !=NULL ; q = q->next) {
-
-
i++;
-
}
-
return i-1;
-
}
-
void main() {
-
-
List *s, *t;
-
s = CreateFirst();
-
t = InitialList(s);
-
PrintList(t);
-
-
}
-
-
-