链表操作

链表删除

r=p->next;

p->next=p->next-next;

free(r);

链表插入

q->next = p->next;

p->next = q;

链表创建与遍历

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>


typedef struct node 
{
int data;
struct node * pnext;
}NODE,*PNODE;


PNODE creatlist();
void traverlist(PNODE phead);
int main()
{
PNODE phead;
phead = creatlist();
traverlist(phead);
return 1;
}


PNODE creatlist()
{
int len;
int val;
PNODE phead = (PNODE)malloc(sizeof(NODE));
if (NULL == phead)
{
printf("内存分配出错");
exit(-1);
}


PNODE ptail = phead;
ptail->pnext = NULL;


printf("您将输入的结点个数");
scanf("%d",&len);
for (int i=0;i<len;++i)
{
printf("您将输入第%d结点个数",i);
scanf("%d",&val);
PNODE pnew = (PNODE)malloc(sizeof(NODE));
pnew->data = val;
ptail->pnext = pnew;
pnew->pnext = NULL;
ptail = pnew;
}
return phead;
}


void traverlist(PNODE phead)
{
PNODE p= phead->pnext; 
while(NULL != p)
{
printf("%d",p->data);
p = p->pnext;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值