单链表链表是在**逻辑上是连续的,**在内存上是不连续的。在32 位系统上存储10个整型(int 4个字节)数据:顺序表存储:总共需要堆区空间:40个字节单链表存储:总共需要堆区空间:80个字节(除了存储数据本身的大小之外还要存储指针的大小) ps:union 联合体和struct 不同,struct 是所有变量是共存的优点是有容乃大,缺点是为每一个变量都会分配地址。而union是各个变量之间是公用内存的,可以节约地址空间,内存使用更加灵活。
单链表的操作
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h> //数据节点定义
typedef int Elemdata;
typedef struct Node
{ union//使用联合体
{ Elemdata data;//存储有效数据
int length;//存储链表的长度
};
struct Node *next;
}Linklist;
void Init_Linklist(Linklist *head);
void Destory_Linklist(Linklist *head);
bool Insert_Linklist(Linklist *head,Elemdata value,int pos);
bool Insert_LinklistOFrear(Linklist *head,Elemdata value);
bool Insert_LinklistOFfront(Linklist *head,Elemdata value);
bool delete_Linklist(Linklist *head,Elemdata value,int pos);
bool delete_LinklistOFrear(Linklist *head,Elemdata value);
bool delete_LinklistOFfront(Linklist *head,Elemdata value);
//单链表实现:
void Init_Linklist(Linklist *head)
{
}