熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

數據結構考研分類復習真題 第五章 答案[42]

2013-11-15 15:11:46  來源: 數據結構 

  [題目分析] 廣義表的元素有原子和表在讀入廣義表表達式遇到左括號就遞歸的構造子表否則若是原子就建立原子結點若讀入逗號就遞歸構造後續子表若n=則構造含空格字符的空表直到碰到輸入結束符號(#設廣義表的形式定義如下

  typedef  struct node
  {int tag;                   //tag=為原子tag=為子表
  struct node *link;         //指向後繼結點的指針
  union {struct node *slink; //指向子表的指針
  char data;          //原子
  }element;
  }Glist;
  Glist *creat ()  //建立廣義表的存儲結構
  {char ch; Glist *gh;
  scanf(%c&ch);
  if(ch==) gh=null;
  else {gh=(Glist*)malloc(sizeof(Glist));
  if(ch==(){gh>tag=; //子表
  gh>elementslink=creat(); } //遞歸構造子表
  else {gh>tag=;gh>elementdata=ch;} //原子結點
  }
  scanf(%c&ch);
  if(gh!=null) if(ch==) gh>link=creat() //遞歸構造後續廣義表
  else gh>link=null;
  return(gh);
  }
  }算法結束

[]  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/sjjg/201311/23024.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.