| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1001 人关注过本帖
标题:新手修改自己的程序,不会改,快哭了。求解释啊
只看楼主 加入收藏
学小强编程
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2011-12-4
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:13 
新手修改自己的程序,不会改,快哭了。求解释啊
这是一个简单线性列表的实现

 #include<stdio.h>
 #include<malloc.h>
 #define LIST_INIT_SIZE 100
 #define LISRINCREANMENT 10
 #define true 1
 #define false 0
 #define OVERFLOW -2
 #define ok 1
 #define Error 0
 
 typedef int ElemType;
 typedef int statu ;

 typedef struct
 {
   ElemType *elem;
   int length ;
   int Listsize;
 }SqList;
 
 typedef struct LNode
 {
   ElemType data;
   struct LNode *next;
 }; Lode,LinkList;

 SqList L;
 
 statu InitList_Sq(SqList *L)/*构造一个空的线性列表*/
 {
   L->elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
   if(L->elem==NULL)
   {
     printf("空间分配失败");
     return OVERFLOW;
   }
   L->length=0;/*初始长度为0*/
   L->Listsize=List_INIT_SIZE;/*初始存储容量*/
   return ok;
  }
  
  statu ClearList_Sq(SqList *L)/*清空列表*/
  {
    L->length=0;
    return ok;
  }
  
 statu ListEmpty_Sq(SqList *L)/*判定线性表是否为空*/
  {
     if(L->length==0)
     {
       return true;
     }
     else
       return false;
  }
  
  statu ListLength_Sq(SqList *L)/*返回表长*/
  {
     return L->length;
  }
  
  statu ListInsert_Sq(SqList*L,int i;ElemType e)/*在顺序线性表中第i个位置插入新的元素e*/
  {
     if(i<1||i>L->length+1)
       {
         return error;
       }
       if(L->length>L->Listsize)
       {
        newbase=(ElemTYpe*)malloc(L->elem,(L->Listsize+LISRINCREMENT)*sizeof(ElemType));
        if(!newbase)
          {
            exit(OVERFLOW);/*分配失败*/         
           }
           L->elem=newbase;/*新基址*/
           L->list+=LISTINCREMENT;/*增加存储容量*/
       }
       q=&(L->elem[i-1]);/*q为插入地址*/
       for(p=&(L->elem[L->length-1]);p>=q;--p)
       *(p+1)=*p;
       *q=e;/*插入e*/
       ++L->length;/*表长加1*/
       return ok;
      
  }
      
     statu ListDelet_Sq(SqList *L,int i;ElemType *e)/*删除第i个元素*/
      {
           if((i<1)||(i>L->length))/*i的值不合法*/
           {
             return ERROR;                 
           }        
           p=&(L->elem[i<i]);/*p为被删除的元素*/
           e=*p;/*p的元素赋给e*/
           q=L->elem+L->length-1;/*表尾元素的位置*/
           for(++p;p<=q,++p)
           *(p-1)=*p;
           --length;/*表长减1*/
             return ok;
      }
      
      statu Getelem_L(LinkList L,int i,ElemType *e)
      {
       p=L->next;/*初始化,p纸箱第一个节点,j为计数器*/
       i=1;
       while(p&&j<1)/*顺指针向后查找,知道P指向第i个元素或P为空*/
       {
         p=p->next;
         j++;
       }
       if(!P||j>i)
       {
         return Error;/*第i个元素不存在*/
       }
       e=p->data;/*取第i个元素*/
       return ok;
      }
      
      statu PiorElem Sq_(L,cur_e,*pre_e)
      {
      p=GetElem(head i);
      return (p->prior->Elem);
      }
      
      void main()
      {
       printf("\n\n");
       for(;;)
       {
         printf("********************************************"\n);
         printf("1 构造一个线性列表\n");
         printf("2 清空列表\n");
         printf("3 判断线性表是否为空 \n");
         printf("4 返回表的长度\n");
         printf("5 增加一个元素 插入第i个位置\n");
         printf("6 删除地i个元素\n");
         printf("7 获取列表中第i 个元素\n");
         printf("8 查找前驱\n");
         printf("**********************************************\n");
         int a ;
         scanf("%d",&a);
         if(i<0||i>8)
         {
          printf("\n");
         }
         switch(a)
         {
         case(1):InitList_Sq(L);break;
         case(2):ClearList_Sq(L);break;
         case(3):ListEmpty_Sq(L);break;
         case(4):ListLength_Sq(L);break;
         case(5):ListInsert_Sq(L;break;
         case(6):ListDelet_Sq(L);break;
         case(7):Getelem-L(L);break;
         case(8):PriorElem_Sq(L);break;
         }
         
       }
        
      }
搜索更多相关主题的帖子: false include 
2013-03-31 15:29
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:3 
你的问题在哪里?
还是?这是个科普贴?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-03-31 15:50
wang25435
Rank: 2
等 级:论坛游民
帖 子:21
专家分:16
注 册:2013-3-10
收藏
得分:3 
不装比会死?
2013-03-31 16:14
a76962934
Rank: 2
等 级:论坛游民
帖 子:39
专家分:53
注 册:2012-5-30
收藏
得分:3 
错误的地方好多了,,不仅符号出错  字母打错,,变量未定义,,,   自己耐心看看吧。。   我看到一半没耐心了
2013-03-31 16:16
学小强编程
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2011-12-4
收藏
得分:0 
回复 4楼 a76962934
符号出错是哪里 ,,我本来C就不怎么会,然后又学过C++ 。所以乱套了。好纠结啊
2013-03-31 16:41
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:3 
自己滴不会改
2013-03-31 16:43
学小强编程
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2011-12-4
收藏
得分:0 
回复 4楼 a76962934
还要define的那个定义的后面的数字是不是对的,那个我百度上没找到。数字具体是怎么定义的啊、谢谢
2013-03-31 16:44
学小强编程
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2011-12-4
收藏
得分:0 
回复 6楼 tlliqi
是写出来了。但是有错误,而且很多。而我也就是入门级别的
2013-03-31 20:02
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
收藏
得分:3 
L->Listsize=List_INIT_SIZE;/*初始存储容量*/
L->Listsize=LIST_INIT_SIZE;/*初始存储容量*/
大小写
2013-04-07 07:44
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
收藏
得分:0 
statu ListInsert_Sq(SqList*L,int i;ElemType e)/*在顺序线性表中第i个位置插入新的元素e*/

statu ListInsert_Sq(SqList*L,int i,ElemType e)
2013-04-07 07:47
快速回复:新手修改自己的程序,不会改,快哭了。求解释啊
数据加载中...
 
   



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

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