#动态链表
静态链表和动态链表的区别:
##静态链表和动态链表是线性表链式存储结构的两种不同的表示方式
1、静态链表是用类似于数组方法实现的,是顺序的存储结构,在物理地址上是连续的,而且需要预先分配地址空间大小。所以静态链表的初始长度一般是固定的,在做插入和删除操作时不需要移动元素,仅需修改指针。
2、动态链表是用内存申请函数(malloc/new)动态申请内存的,所以在链表的长度上没有限制。动态链表因为是动态申请内存的,所以每个节点的物理地址不连续,要通过指针来顺序访问。
##动态链表建立
本文主要讲解插入节点和查询节点,废话不多说直接看代码:
#include<stdio.h>
#include<stdlib.h>
//定义链表结构体
struct StudNode
{
char name[16];
long num;
float score;
struct StudNode *next;
};
//节点指针
struct StudNode *head , *thisN , *newN;
void NewNode(void); //增加节点
void ListAll(void); //输出节点
int main()
{
char ch;
int flag=