24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 408  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 330分求调剂 +13 qzenlc 2026-03-29 13/650 2026-04-02 16:45 by SZW_UJN
[考研] 282求调剂 +18 ycy1201 2026-04-01 20/1000 2026-04-02 16:39 by liumengping
[考研] 301求调剂 +4 细胞相关蛋白 2026-04-02 8/400 2026-04-02 16:30 by 271179835
[考研] 336求调剂 +6 kiyy 2026-04-01 6/300 2026-04-02 15:51 by Jaylen.
[考研] 0832食品科学与工程学硕282调剂 +4 鱼在水中游a 2026-04-02 7/350 2026-04-02 14:12 by baoball
[考研] 348求调剂 +6 小懒虫不懒了 2026-03-27 7/350 2026-04-02 11:18 by sanrepian
[考研] 计算机265跨调环境 +5 Yumeng_6 2026-03-27 5/250 2026-04-02 10:54 by guanxin1001
[考研] 一志愿346上海大学生物学 +3 上海大学346调剂 2026-04-01 3/150 2026-04-02 08:36 by w虫虫123
[考研] 286求调剂 +16 PolarBear11 2026-03-26 16/800 2026-04-01 21:31 by 七度不信任
[考研] 286求调剂 +5 Sa67890. 2026-04-01 7/350 2026-04-01 19:50 by 6781022
[考研] 285求调剂 +7 AZMK 2026-03-30 13/650 2026-04-01 17:00 by 七度不信任
[考研] 土木304求调剂 +3 兔突突突, 2026-03-31 3/150 2026-04-01 09:42 by JourneyLucky
[考研] 考研调剂 +9 小蜡新笔 2026-03-29 10/500 2026-03-31 19:52 by Dyhoer
[考研] 340求调剂 +4 希望如此i 2026-03-31 4/200 2026-03-31 16:40 by 690616278
[考研] 263求调剂 +3 DDDDuu 2026-03-27 3/150 2026-03-31 16:21 by 土木硕士招生
[考研] 266分,求材料相关专业调剂 +10 哇呼哼呼哼 2026-03-30 12/600 2026-03-31 11:00 by 熊一刀
[考研] 370求调剂 +3 080700调剂 2026-03-30 3/150 2026-03-31 01:09 by A_Zhe
[考研] 085701环境工程求调剂 +11 多久上课 2026-03-27 12/600 2026-03-30 21:21 by 研究僧导导
[考研] 105500药学求调剂,一志愿山东大学药学,348分 +3 gr哈哈哈 2026-03-28 3/150 2026-03-30 18:56 by 源_2020
[考研] 331环境科学与工程求调剂 +3 熠然好运气 2026-03-27 3/150 2026-03-28 04:11 by fmesaito
信息提示
请填处理意见