lgp142788 2016-10-11 04:51 采纳率: 50%
浏览 1846

单链表的创建与插入.删除

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;
}

  • 写回答

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 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛