| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 467 人关注过本帖
标题:刚开始学习不知道哪里出问题了 哪位大神帮看看 谢谢
取消只看楼主 加入收藏
cclosttemp
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-10-19
结帖率:50%
收藏
 问题点数:0 回复次数:0 
刚开始学习不知道哪里出问题了 哪位大神帮看看 谢谢
#include<stdio.h>
#include<malloc.h>


typedef struct node
{
   int data;
   struct node *next;
 }node;
 node *head;
 int k;
 node * creates()
 {
  node *p,*s,*h;
  int j=1,x,n;
  p=h=(node*)malloc(sizeof(node));
  h->next=NULL;
  printf("输入线性表长度:");
  scanf("%d,&n");
  printf("输入%d个数字创建表:",n);
  while(j<=n)
   {
     scanf("%d,&x");
s=(node*)malloc(sizeof(node));
s->data=x;
p->next=s;
p=s;
j++;
}
p->next=NULL;
return h;
}

void insertsl(node *head,int k,int i)
{
int j;
node *p,*t;
p=head;
j=0;
while(p&&j<k-1)
{
p=p->next;
j++;
}
if(!p||j>k-1)
printf("插入位置不对\n");
t=(node *)malloc(sizeof(node));
t->data=i;
t->next=p->next;
p->next=t;
}

void deletesl(node *h,int i)
{
node *p,*s,*q;
int j=1;
p=h;
while(p->next!=NULL)
{
q=p->next;
if(q->data==i)
break;
p=p->next;
j++;
}

if(p->next==NULL)
{
printf("找不到你要删除的元素\n");
return;
}
else
{
s=p->next;
p->next=s->next;
free(s);
printf("在位置%d成功删除%d\n",j,i);
}
}

int main()
{
node *p,;
int a,b;
char c;
p=creates();
while(1)
{
printf("\n输入插入元素的位置");
scanf("%d",&b);
printf("\n输入插入的元素");
scanf("%d",&a);
insertsl(p,b,a);
}

printf(p);
printf("\n输入要删除的元素");
scanf("%d",&a);
deletesl(p,a);
printf(p);
}

搜索更多相关主题的帖子: creates include return 线性表 
2013-10-20 22:44
快速回复:刚开始学习不知道哪里出问题了 哪位大神帮看看 谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017313 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved