数据结构专题
一、复习指针 9.4 day2
安利好课:印度的顶尖程序员Harsha Suryanarayana为你图文讲解指针
二、链表
- 链表节点:存储数据 + 存储下一节点的地址
- 以下为初始化、插入、遍历操作
-
#include <stdio.h> #include <stdlib.h> struct Node{ int data; struct Node* next; }; struct Node* head; void insert(int x){ //插入 Node *temp = (Node*)malloc(sizeof(struct Node)); temp->data = x; temp->next = head; head = temp; } void Print(){ //遍历 struct Node* temp = head; while(temp!=NULL){ printf("%d ",temp->data); temp = temp->next; } } int main() { head = NULL; int n,x; printf("Please Enter the number of the List:\n"); scanf("%d", &n); while(n--){ scanf("%d", &x); Insert(x); Print(); } return 0; }
Tips:注意运用typedef 和 struct的区别
typedef的作用声明别名
- 此处分号后Node是 struct Node的别名,可以使用其代表struct Node类型
- *LinkList是代表指向下一节点的指针类型,…
※区别struct,同样的写法无法达到同样的效果
- 正确实例化的方法:struct Node Node1;
- 或者每次都加上struct Node(即结构体类型的节点)
typedef struct Node { ElemType data; struct Node *next; } Node, *LinkList;
三 、论文
修改了一点论文,发现现在看论文能够清晰的看出不太好的文章,帮师兄改论文也是在锻炼自己的逻辑吧
反思:上午完全停滞,效率还是有点低,本来想复习完前三章内容,但是重新理解指针和链表的感觉真好,之前还是存在很多疑点
水完形策后,晚上9点后突然感觉效率达到巅峰,果然是需要完成一些有成就感的事情,比如实现代码 22:53pm