珞珈山水BBS电脑网络程序人生 → 单文区文章阅读

单文区文章阅读 [返回]
发信人: zhaoxiang (叶绿素), 信区: Programm
标  题: 求助:关于C数据结构单连表就地逆置
发信站: BBS 珞珈山水站 (Wed Apr 27 23:14:07 2005)

利用顺序堆栈实现单连表的就地逆置(链式堆栈已经成功的实现)
程序设计部分如下 
typedef struct/*定义顺序堆栈*/
  {struct slnode Stack[maxnum]; (要求在数组里面存放单连表的地址)
    int Top;}qstype;
void converse(slnodetype *la)
{ slnodetype *p;  qstype *q; q->Top=0;
  if(q->Top>=maxnum-1)
  {printf("\n 堆栈已满\n");}
    p=la;
     while(p->Next!=NULL)
     {q->Stack[q->Top]=p->Next;   q->Top++;
       p=p->Next;}

    p=la;
     while(q->Top>0)
   {p->Next=q->Stack[q->Top]; p=p->Next;  q->Top--;
   } p->Next=NULL; }   可以肯定的是程序的其他函数设计经过测试都没有错误,错误只
可能在以上部分。

--

※ 来源:·珞珈山水BBS站 http://bbs.whu.edu.cn·[FROM: 219.140.88.*]
[返回单文区目录]

武汉大学BBS 珞珈山水站 All rights reserved.
wForum , 页面执行时间:9.093毫秒