亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      自考

      各地資訊
      當(dāng)前位置:考試網(wǎng) >> 自考 >> 自考真題 >> 工學(xué)類 >> 數(shù)據(jù)結(jié)構(gòu) >> 文章內(nèi)容

      排行熱點(diǎn)

      • 歷年真題
      • 模擬試題
      • 自考自答

      全國2011年1月高等教育自學(xué)考試數(shù)據(jù)結(jié)構(gòu)試題_第5頁

      來源:考試網(wǎng)  [2011年4月18日]  【

      四、算法閱讀題(本大題共4小題,每小題5分,共20分)

      30.閱讀下列程序。

      void  f30(int  A[], int  n)

      {

      int  i,j,m;

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

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

      {

      m=A[i*n+j];

      A[i*n+j]=A[j*n+i];

      A[j*n+i]=m;

      }

      }

      回答下列問題:

      (1)已知矩陣B= ,將其按行優(yōu)先存于一維數(shù)組A中,給出執(zhí)行函數(shù)調(diào)

      用f30(A,3)后矩陣B的值;

      (2)簡述函數(shù)f30的功能。

      31.假設(shè)以二叉鏈表表示二叉樹,其類型定義如下:

      typedef struct node {

      char data;

      struct node*Ichild, *rchild;         ∥左右孩子指針

      }   *BinTree;

      閱讀下列程序。

      void f31(BinTree T)

      {

      InitStack(S); ∥ 初始化一個(gè)堆棧S

      while  (T  ||  !StackEmpty(S)

      {

      while  (T)

      {

      Push(S,T);    T=T->lchild;

      }

      if  (!StackEmpty(S))

      {

      T=Pop(S);  printf(“%c”,T->data);  T=T->rchild;

      }

      }

      }

      回答下列問題:

      (1)已知以T為根指針的二叉樹如圖所示,

      請寫出執(zhí)行f31(T)的輸出結(jié)果:

      (2)簡述算法f31的功能。

      32.閱讀下列程序。

      void  f32(int  A[],int  n)

      {

      int  i,j,m=l,t;

      for  (i=0;  i<n-l&&m;  i++)

      {

      for  (j=0; j<n; j++)

      printf(“%d ”,A[j]);

      printf(“\n”);

      m=0:

      for  (j=1;  j<n-i;  j++)

      if  (A[j-1]>A[j])

      {

      t=A[j-l];

      A[j-1]=A[j];

      A[j]=t;

      m=1;

      }

      }

      }

      回答問題:

      已知整型數(shù)組A[ ]={34,26,15,89,42},寫出執(zhí)行函數(shù)調(diào)用f32(A,5)后的輸出結(jié)果。

      33.已知順序表的表結(jié)構(gòu)定義如下:

      #define MAXLEN 100

      typedef int KeyType;

      typedef struct {

      KeyType key;

      InfoType otherinfo;

      } NodeType;

      typedef NodeType  SqList[MAXLEN];

      閱讀下列程序。

      Int  f33(SqList  R,NodeType  X,  int  p,  int  q)

      {  int  m;

      if  (p>q)  return  -1;

      m=(p+q)/2;

      if  (R[m].key==X.key)  return  m;

      if  (R[m].key>X.key)  return f33(R,X,p,m-l);

      else  return f33(R,X,m+l,q);

      }

      請回答下列問題:

      (1)若有序的順序表R的關(guān)鍵字序列為(2,5,13,26,55,80,105),分別寫出X.key=18和X.key=26時(shí),執(zhí)行函數(shù)調(diào)用f33(R,X,0,6)的函數(shù)返回值。

      (2)簡述算法f33的功能。

      責(zé)編:Lisa