单链表的定义
单链表是线性结构,每个结点都有一个数据域和指针域,用以指向后继结点,可以通过前驱结点中的指针域中的地址信息找到后继结点的位置,所以链表有一个缺点就是不能直接找到某个结点,而是要从头结点开始依次查找,即链表不支持随机访问。
结构体表示如下:
#include <iostream>
using namespace std;
typedef struct
Node{
int data;
sruct Node* next;
}Node;
int main(){
...
return 0;
}
单链表的基本操作
初始化
创建头结点保证头指针始终不为NULL,如果为空表则头结点的next指针为NULL
Node* InitList(){
Node* headNode = (Node*)malloc(sizeof(Node));
Node -> next = NULL;
return headNode
}
创建结点
创建一个结点,结点的数据域必须有值
Node* CreateElem(int data){
Node* Newelme = (Node*)malloc(sizeof(Node));
Newelem -> data = data;
Newelem -> next = NULL;
return Newelem;
}
插入结点
头插法
尾插法
void InsertList(Node* headList,int data);
Node* P = CreatElme();
P -> next = headList -> next;
headList -> next = P;
打印结点
void PrintList(Node* HeadList){
Node* Pmov = HeadList -> next;
while(Pmov){
printf("%d",Pmov.data);
Pmov = Pmov -> next;
}
}
删除结点
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。