24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 409  |  回复: 3

ruanjayrock

金虫 (小有名气)

[求助] 简单的顺序表程序,不知为什么跳出,求指导

按照数据结构课本的指导练习的顺序表,编辑平台是codeblocks,不知道是什么问题在执行过程中总是跳出。
谢谢大神来指导!!
代码在附件中
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 主程序和子程序代码.rar
  • 2014-02-26 18:20:39, 1.39 K

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

303723258

铁虫 (初入文坛)

直接把代码贴出来好点呀
2楼2014-02-26 19:21:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ruanjayrock

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 303723258 at 2014-02-26 19:21:45
直接把代码贴出来好点呀

小木虫说是不能再编辑问题了。。里面有10个操作函数,贴出来太长了。。谢谢
3楼2014-02-26 19:44:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ruanjayrock

金虫 (小有名气)

附加一个问题,又编了个单链表的程序,发现这两个程序在插入元素的时候都会跳出,代码如下:

各个子功能:
#include<stdio.h>
#include<malloc.h>
#define maxsize 50
typedef char ElemType;
typedef struct node{
   ElemType data;
   struct node *link;
   }LinkList;

   void initList(LinkList *first)
   {
       first=(LinkList*)malloc(sizeof(LinkList));
       first->link=NULL;
   }

   void DestroyList(LinkList *first)
   {
       LinkList *q;
       while(first->link!=NULL)
       {
           q=first->link;
           first->link=q->link;
           free(q);
       }
   }

   int ListInsert(LinkList *first,int i,ElemType e)
   {
     int j=0;
     LinkList *p=first,*s;
     while(j<i-1&&p!=NULL)
     {
         j++;
         p=p->link;
     }
     if(p==NULL) return 0;
     else
     {
         s=(LinkList *)malloc(sizeof(LinkList));
         s->data=e;
         s->link=p->link;
         p->link=s;
         return 1;
     }
   }

   int Length(LinkList *first)
   {
       LinkList *p=first->link;
       int count=0;
       while(p!=NULL)
       {
           p=p->link;
           count++;
       }
       return count;
   }

   int isEmpty(LinkList *first)
   {
       return(first->link==NULL);
   }

   int GetElem(LinkList *first,int i,ElemType e)
   {
       LinkList *p=first;
       int j=0;
       while(j<i&&p->data!=e)
        {
            p=p->link;
            j++;
        }
        if(p==NULL) return 0;
        else
        {
            e=p->data;
            return 1;
        }
   }

   int Locate(LinkList *first,ElemType e)
   {
       LinkList *p=first;
       int n=1;
       while(p!=NULL&&p->data!=e)
       {
           p=p->link;
           n++;
       }
       if(p==NULL) return 0;
       else return n;
   }


   int Remove(LinkList *first,int i,ElemType e)
   {
       int j=0;
       LinkList *p=first,*q;
       while(j<i-1&&p!=NULL)
       {
           j++;
           p=p->link;
       }
       if(p==NULL) return 0;
       else
       {
           q=p->link;
           if(q==NULL) return 0;
           e=q->data;
           p->link=q->link;
           free(q);
           return 1;
       }
   }

   void Copy(LinkList *first1,LinkList *first2)
   {
       LinkList *scrptr=first2->link;
       LinkList *destptr=first1;
       while(scrptr->link!=NULL)
       {
           destptr->link=(LinkList*)malloc(sizeof(LinkList));
           if(!destptr) printf("存储分配失败\n;exit(1);";
           destptr=destptr->link;
           destptr->data=scrptr->data;
           scrptr=scrptr->link;
       }
       destptr->link=NULL;
   }

   void DispList(LinkList *first)
   {
       LinkList *p=first->link;
       while(p!=NULL)
       {
           printf("%c",p->data);
           p=p->link;
       }
       printf("\n";
   }

main函数:
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include "danlianbiao.c"

void main()
{
    LinkList *first;
    ElemType e;
    printf("(1)初始化单链表\n";
    initList(first);
    printf("(2)依次插入a,b,c,d,e元素\n";
    ListInsert(first,1,'a');
    ListInsert(first,2,'b');
    ListInsert(first,3,'c');
    ListInsert(first,4,'d');
    ListInsert(first,5,'e');
    printf("(3)输出单链表\n";
    DispList(first);
    printf("(4)单链表first长度=%d\n",Length(first));
    printf("(5)单链表为%s\n",(isEmpty(first)?"空":"非空");
    GetElem(first,3,e);
    printf("(6)单链表第三个元素为%c\n",e);
    printf("(7)元素a的位置=%d\n",Locate(first,'a'));
    printf("(8)在第四个元素位置上插入f元素\n";
    ListInsert(first,4,'f');
    printf("(9)输出单链表";
    DispList(first);
    printf("(10)删除第三个元素\n";
    Remove(first,3,e);
    printf("(11)输出单链表";
    DispList(first);
    printf("(12)释放单链表";
    DestroyList(first);
}

来个大神指导一下,多谢!
4楼2014-02-26 21:04:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ruanjayrock 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 271分求调剂学校 +3 zph158488! 2026-04-02 3/150 2026-04-03 00:01 by wwytracy
[考研] 294求调剂 +3 Grey_Ey 2026-04-02 5/250 2026-04-02 21:34 by swb0218
[考研] 一志愿华南师范大学-22408计算机-292分-求华南师范大学调剂 +4 爱读书的小鳄鱼 2026-04-02 4/200 2026-04-02 18:35 by 求调剂zz
[考研] 22408 266求调剂 +3 masss11222 2026-04-02 3/150 2026-04-02 18:11 by 笔落锦州
[考研] 085600,材料与化工321分求调剂 +11 大馋小子 2026-03-28 11/550 2026-04-02 15:59 by yunlongyang
[考研] 求调剂!生物与医药专硕 +4 逆转陆先生 2026-04-01 4/200 2026-04-02 11:51 by xiaoranmu
[考研] 材料求调剂 +10 呢呢妮妮 2026-04-01 13/650 2026-04-02 09:17 by olim
[考研] 材料调剂 +12 一样YWY 2026-04-01 12/600 2026-04-02 09:15 by olim
[考研] 土木304求调剂 +6 兔突突突, 2026-03-31 7/350 2026-04-02 09:06 by coolminer
[考研] 化学工程专硕324分,一志愿中国矿业大学求调剂 +7 耿耿1314 2026-04-01 7/350 2026-04-02 07:40 by 尚水阁主
[考研] 食品学硕362求调剂 +3 xuanxianxian 2026-04-01 3/150 2026-04-01 21:05 by 啊李999
[硕博家园] 博一被送出联培感觉不适应怎么办 +3 全村的狗 2026-03-31 3/150 2026-04-01 10:44 by 328838485
[考研] 318求调剂 +8 七忆77 2026-04-01 8/400 2026-04-01 10:37 by Jaylen.
[考研] 【调剂】一志愿厦大生物与医药调剂 +3 Echo虾米 2026-03-31 3/150 2026-04-01 08:40 by JourneyLucky
[考研] 调剂申请 +8 张张张张zy 2026-03-31 9/450 2026-04-01 08:29 by zjbkx
[考研] 335求调剂 +3 321* 2026-03-31 4/200 2026-04-01 00:00 by 321*
[考研] 318求调剂 +10 陈晨79 2026-03-30 10/500 2026-03-31 17:37 by 544594351
[考研] 08工科求调剂286 +5 tgs_001 2026-03-28 5/250 2026-03-31 08:18 by 一只好果子?
[考研] 求调剂 +7 青春裁为三截 2026-03-29 7/350 2026-03-30 13:14 by laoshidan
[考研] 356求调剂 +3 gysy?s?a 2026-03-28 3/150 2026-03-29 00:33 by 544594351
信息提示
请填处理意见