翻看之前的书本,总结一下数据结构方面的小知识点。关于单链表的顺序结构就不说了,比较简单。
还有关于链表的插入删除,今天先写到这。
点击(此处)折叠或打开
-
- 下面用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);
-
- }
-
-
-