| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 750 人关注过本帖
标题:十万火急!!!高手帮忙啊(关于数据结构的一个程序)
只看楼主 加入收藏
TFTFTTFF
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-5-3
收藏
 问题点数:0 回复次数:2 
十万火急!!!高手帮忙啊(关于数据结构的一个程序)
我们数据结构老师要求我们交实验的程序,但是现在还没搞出来,请大家来帮帮我吧,谢谢了!
题目是
试验一: 设某线性表数据元素的类型为整型,以顺序表为存储结构。试编程实现:
⑴ 线性表置空
⑵ 求线性表长度
⑶ 数据元素的插入操作
⑷ 数据元素的删除操作
⑸ 显示线性表中的全部元素
我的程序是
 #include<STDIO.H>
 #include<MALLOC.H>
 #define LIST_INIT_SIZE 10
 #define LISTINCREMENT 2
 #define OK 1
 #define ERROR 0
 #define OVERFLOW -2
 #define TRUE 1
 #define FALSE 0
 #define NULL 0
 typedef int ElemType
  typedef struct
 {
   ElemType *elem;
   int length;
   int listsize;
 }SqList;


  Status InitList(SqList *L)
 {
 (*L).elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
   if(!(*L).elem)
     exit(OVERFLOW);
   (*L).length=0;
   (*L).listsize=LIST_INIT_SIZE;
   return OK;
 }


 Status ClearList(SqList *L)
 {
  (*L).length=0;
   return OK;
 }


 int ListLength(SqList L)
 {
  return L.length;
 }

    Status ListInsert(SqList *L,int i,ElemType e)
 {
   ElemType *newbase,*q,*p;
   if(i<1||i>(*L).length+1)
     return ERROR;
   if((*L).length>=(*L).listsize)
   {
     newbase=(ElemType *)realloc((*L).elem,((*L).listsize+LISTINCREMENT)*sizeof(ElemType));
     if(!newbase)
       exit(OVERFLOW);
     (*L).elem=newbase;
     (*L).listsize+=LISTINCREMENT;
   }
   q=(*L).elem+i-1;
   for(p=(*L).elem+(*L).length-1;p>=q;--p)
     *(p+1)=*p;
   *q=e;
   ++(*L).length;
   return OK;
   }

    Status ListDelete(SqList *L,int i,ElemType *e)
 {
   ElemType *p,*q;
   if(i<1||i>(*L).length)
     return ERROR;
   p=(*L).elem+i-1;
   *e=*p;
   q=(*L).elem+(*L).length-1;
   for(++p;p<=q;++p)
     *(p-1)=*p;
   (*L).length--;
   return OK;
 }

  
 Status displist(SqList L)
 {
  ElemType *p;
  p=L.elem;
 while(p!=NULL)
   {p++;
    printf("%d\n",*p);
    }

 main()
{int n,i,e;
 sqlist *L;InitList(*L);
 printf("1Clear the List2the Length of List3insert element4Delete the element5show all the element");
 printf("\nPlease choose a num!");
 scanf("%d",&n);
 switch(n)
 {case 1:printf("Clear the List");
  ClearList(*L);break;
  case 2:printf("ClearList") ;
  ListLength(*L);break;
  case 3:printf("insert element\nplease input a element");
  scranf("%d%d",&i,&e);ListInsert(*L,i,e);break;
  case 4:printf("Delete the element");
  scranf("%d%d",&i,&e);ListDelete(*L,i,e);break;
  case 5;printf("show all the element");
  displist(*L);
  }
 }

但是我在TC2.0下编译不能通过,提示错误为:
c1:unable to open include file 'stdio.h'
c2:unable to open include file 'malloc.h'
c12:declaration  error syntax
c20:declaration  error syntax
搜索更多相关主题的帖子: 数据结构 define 线性 
2008-05-27 21:29
TFTFTTFF
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-5-3
收藏
得分:0 
来高手帮忙啊,谢谢了
2008-05-28 21:57
语虫
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2008-5-18
收藏
得分:0 
你的错误太多了,我改了快一个小时还没有完,服你了!等一下吧!我改好给你!
2008-05-29 00:43
快速回复:十万火急!!!高手帮忙啊(关于数据结构的一个程序)
数据加载中...
 
   



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

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