//单链表 带头结点
#include <stdio.h>
#include <stdlib.h>
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LinkList;
//初始化单链表
LinkList initList(LinkList list){
LNode *newNode=(LNode *)malloc(sizeof(LNode));
if(newNode==NULL){
return NULL;
}
(*newNode).next=NULL;
list=newNode;
return list;
}
//指定位置插入数据
int insertList(LinkList list,int index,int data){
LNode *tmp=list;
int j=0;
if(index<1){
return 0;
}
while(tmp!=NULL&&j<index-1){
tmp=(*tmp).next;
j++;
}
if(tmp==NULL){
return 0;
}
LNode *newNode=(LNode *)malloc(sizeof(LNode));
if(newNode==NULL){
return 0;
}
(*newNode).data=data;
(*newNode).next=(*tmp).next;
(*tmp).next=newNode;
return 1;
}
//指定结点后插入数据
int insertNextNode(LNode *p,int data){
LNode *newNode = (LNode *)malloc(sizeof(LNode));
if(newNode == NULL){
return 0;
}
(*newNode).data =
单链表带头结点C语言实现详细代码
最新推荐文章于 2023-05-04 11:33:30 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)