bo1-1.cpp 抽象數據類型Triplet和ElemType(由c1-1.h定義)的基本操作(8個)

 
  1. // bo1-1.cpp 抽象數據類型Triplet和ElemType(由c1-1.h定義)的基本操作(8個)
  2.  Status InitTriplet(Triplet &T,ElemType v1,ElemType v2,ElemType v3)
  3.  { // 操作結果:構造三元組T,依次置T的3個元素的初值爲v1,v2和v3
  4.    if(!(T=(ElemType *)malloc(3*sizeof(ElemType))))
  5.      exit(OVERFLOW);
  6.    T[0]=v1,T[1]=v2,T[2]=v3;
  7.    return OK;
  8.  }
  9.  Status DestroyTriplet(Triplet &T)
  10.  { // 操作結果:三元組T被銷燬
  11.    free(T);
  12.    T=NULL;
  13.    return OK;
  14.  }
  15.  Status Get(Triplet T,int i,ElemType &e)
  16.  { // 初始條件:三元組T已存在,1≤i≤3。操作結果:用e返回T的第i元的值
  17.    if(i<1||i>3)
  18.      return ERROR;
  19.    e=T[i-1];
  20.    return OK;
  21.  }
  22.  Status Put(Triplet T,int i,ElemType e)
  23.  { // 初始條件:三元組T已存在,1≤i≤3。操作結果:改變T的第i元的值爲e
  24.    if(i<1||i>3)
  25.      return ERROR;
  26.    T[i-1]=e;
  27.    return OK;
  28.  }
  29.  Status IsAscending(Triplet T)
  30.  { // 初始條件:三元組T已存在。操作結果:如果T的3個元素按升序排列,返回1,否則返回0
  31.    return(T[0]<=T[1]&&T[1]<=T[2]);
  32.  }
  33.  Status IsDescending(Triplet T)
  34.  { // 初始條件:三元組T已存在。操作結果:如果T的3個元素按降序排列,返回1,否則返回0
  35.    return(T[0]>=T[1]&&T[1]>=T[2]);
  36.  }
  37.  Status Max(Triplet T,ElemType &e)
  38.  { // 初始條件:三元組T已存在。操作結果:用e返回指向T的最大元素的值
  39.    e=T[0]>=T[1]?T[0]>=T[2]?T[0]:T[2]:T[1]>=T[2]?T[1]:T[2];
  40.    return OK;
  41.  }
  42.  Status Min(Triplet T,ElemType &e)
  43.  { // 初始條件:三元組T已存在。操作結果:用e返回指向T的最小元素的值
  44.    e=T[0]<=T[1]?T[0]<=T[2]?T[0]:T[2]:T[1]<=T[2]?T[1]:T[2];
  45.    return OK;
  46.  }
發佈了41 篇原創文章 · 獲贊 0 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章