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

北大自考數據結構上機考試復習總結[2]

2013-11-15 15:41:35  來源: 數據結構 
編一C程序它能對輸入的一串整數(不多於為結束標記)到數組a中再對a的元素進行直接插入排序(從小到大排序)輸出排序結果和所用關鍵字比較次數(輸入時兩個相鄰的整數用空格隔開)

  (注程序的可執行文件名必須是 eexe存於你的賬號或其debug目錄下)

  #include

  #include

  void main()

  {

  int ij kkc[]skcount=flag=;

  int a[];

  int b[];

  printf(請輸入個數到a中\n);

  for(i=;i<;i++)

  scanf(%d&a[i]);

  printf(請輸入個數到b中\n);

  for(i=;i<;i++)

  scanf(%d&b[i]);

  for(i=;i<;i++){

  for(k=;k<;k++)

  {s=;

  for(j=;j<&&i>=j;j++)

  k=i*(i+)/+j;

  if(j>=k)

  k=j*(j+)/+i;

  else

  continue;

  s+=a[k]*b[k];

  flag=;

  }

  if(flag)

  {

  c[count++]=s;

  flag=;

  }

  }

  for(i=;i<;i++)

  printf(%dc[i]);

  }

  數據結構練習題

   編一C程序它能根據輸入的二叉樹前序和中序序列來構造該二叉樹並能輸出該二叉樹的後序序列和該二叉樹葉的結點的個數以及該二叉樹高度(輸入次序是表示前序序列的字符串表示中序序列的字符串)

  (注程序的可執行文件名必須是 eexe存於你的賬號或其debug目錄下)

  #include

  #include

  #include

  void exit(int);

  #define MAX

  typedef struct node{

  char d;

  struct node *lchild*rchild;

  }Tnode;

  void MKTree(char pre[]int presint preechar in[]int isint ieTnode **r)

  {

  int i;

  if(pres>pree||is>ie)

  *r=NULL;

  else{

  *r=malloc(sizeof(Tnode));

  for(i=is;i<=ie;i++)

  if(pre[pres]==in[i])

  {

  MKTree(prepres+pres+iisinisis+i&(*r)>lchild);

  MKTree(prepres+i+is+preeinis+i+ie&(*r)>rchild);

  break;

  }

  }

  }

  void postorder(Tnode *r)

  {

  if(r)

  {

  postorder(r>lchild);

  postorder(r>rchild);

  printf(%cr>d);

  }

  }

  int num(Tnode *r)

  {

  if(r==NULL)

  return ;

  else

  if(r>lchild==NULL&&r>rchild==NULL)

  return ;

  else

  return num(r>lchild)+num(r>rchild);

  }

  int height(Tnode *r)

  {

  int hh;

  if(r==NULL)

  return ;

  else

  {

  h=height(r>lchild);

  h=height(r>rchild);

  return +(h>h)?hh;

  }

  }

  void main()

  {

  Tnode *r;

  char pre[MAX]in[MAX];

  printf(input preorder and inorder \n);

  gets(pre);

  gets(in);

  MKTree(prestrlen(pre)instrlen(in)&r);

  printf(The postorder is as follow\n);

  postorder(r);

  printf(\n there are %d leaves in the tree\nnum(r));

  printf(h=%d\nheight(r));

  }

  

[]  []  []  []  


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