typedef struct node
{
int data;
struct node *next;
}NODE;
typedef NODE Head;
typedef NODE *Pointer;
void CreateList(Head *head,int n){
Pointer q;
int i;
head->data=0;
head->next=NULL;
head=(Pointer)malloc(sizeof(NODE));
q=head;
printf("输入%d个元素:\n",n);
for(i=n;i>0;n--){
q=(Pointer)malloc(sizeof(NODE));
scanf("%d",&q->data);
q->next=head->next;
head->next=q;
}
}
int InsertList(NODE*head,int idx,int e)
{
Pointer s,p;
int j=0;
p=head;
while(p&&j
p=p->next;j++;
if(!p||j>idx-1)
return 0;
s=(Pointer)malloc(sizeof(NODE));
s->data=e;s->next=p->next;
p->next=s;
return 1;
}
int DeleteList(NODE *head,int idx,int *e){
NODE *p,*q;int j=0;q=head;
while(p->next&&j
p=p->next;j++;
}
if(!(p->next)||j>idx-1) return 0;
q=p->next;p->next=q->next;
e=q->data;free(q);
return 1;
}
void DispList(Head*head){
Pointer p;
p=head->next;
while(p!=NULL){
printf("%d",p->data);
p=p->data;
}
printf("\n");
}
int main()
{
Head L,La;
int n,e,a,b;
printf("输入元素个数:\n");
scanf("%d",&n);
CreateList(&L,n);
printf("输入要插入的元素及位置:\n");
scanf("%d%d",&a,&b);
InsertList(&L,a,b);
DispList(&La)
printf("输入要删除的元素及位置:\n");
DeleteList(&L,1,&e);
return 0;
}
单链表的创建与插入.删除
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
- threenewbee 2016-10-11 05:15关注
少头文件 #include <stdio.h> #include <stdlib.h> DispList(&La) 这里少分号 for(i=n;i>0;n--){ 这里是i-- e=q->data; -> *e=q->data; p=p->data; -> p=p->next;
错误太多了,不一一看了,
参考
http://blog.csdn.net/xubin341719/article/details/7091979
http://www.oschina.net/code/snippet_268712_9940解决 无用评论 打赏 举报
悬赏问题
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料
- ¥15 使用R语言marginaleffects包进行边际效应图绘制
- ¥20 usb设备兼容性问题
- ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
- ¥15 安装svn网络有问题怎么办
- ¥15 vue2登录调用后端接口如何实现