| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 865 人关注过本帖
标题:c语言写数据结构的链表代码高手进来
只看楼主 加入收藏
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
结帖率:73.96%
收藏
已结贴  问题点数:10 回复次数:6 
c语言写数据结构的链表代码高手进来
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
   char data;
   struct node *next;
}ListNode;
ListNode *createlist()
{
  char ch;
  ListNode *head=(ListNode *)malloc(sizeof(ListNode));
  ListNode *s,*r=head;
  printf("shurujiedianzhi:");
  ch=getchar();
  while (ch!='\n')
  {
     s=(ListNode *)malloc(sizeof(ListNode));
     s->data=ch;
     r->next=s;r=s;
     ch=getchar();
  }
  r->next=NULL;
  return head;
}
void prin(ListNode *head)
{
   ListNode *p=head->next;
   if(p==NULL)
      printf("kongbiao\n");
   else
   {
      while(p!=NULL)
      {
     printf("%c ",p->data);
     p=p->next;
      }
      printf("\n");
   }
}
ListNode *getnode(ListNode *head,int i)
{
  int j=0;
  ListNode *p;
  p=head;
  while(p->next!=NULL&&j<i)
  {
     p=p->next;
     j++;
  }
  if(p!=NULL)
    return p;
  else
    return NULL;
;
}
void insertnode(ListNode *head,char x,int i)
{
  ListNode *p,*s;
  s=(ListNode *)malloc(sizeof(ListNode));
  s->data=x;
  if(i==1)
  {
    s->next=head->next;
    head->next=s;
  }
  else
  {
    p=getnode(head,i-1);
    if(p==NULL)
    {
       printf("iquzhiyoucuo\n");
       exit(0);
    }
    s->next=p->next;
    p->next=s;
  }

}

ListNode *p;
main()
{
   int i;
   char a;
   int  b;
scanf("%d",&i);
  switch(i)
{case 1:printf("n=");
        p=createlist();
        prin(p);
        break;
 case 2:printf("shurucharudeweizhi:")
        scanf("%c,%d",&a,&b);
        insertnode(p,a,b);
        print(p);break;
 default:printf("ERROR!Try again!\n\n");
}
}

哪里错了
搜索更多相关主题的帖子: 链表 c语言 代码 数据结构 
2010-03-27 21:55
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:216
帖 子:1487
专家分:9082
注 册:2010-3-16
收藏
得分:3 
case 2:printf("shurucharudeweizhi:")  缺少分号。

print(p); print没有定义,前面写成prin了

scanf("%d",&i);
getchar();   //scanf后面要用getchar跳过输入的回车符。
2010-03-27 23:45
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:2 
如果用C++写 就没有这么问题了getline()
2010-03-28 08:52
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:0 
能把代码写全吗 谢谢

Discuz!  
好好学习  天天向上
2010-03-28 21:53
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:5 
2楼已经把错误全指出来了 最多还有个int main() 准备写法
2010-03-29 08:34
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:0 
我 用 getchar还 是跳不过回车啊

Discuz!  
好好学习  天天向上
2010-03-29 16:09
快速回复:c语言写数据结构的链表代码高手进来
数据加载中...
 
   



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

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