读书笔记--《数据结构 C语言版》第一章

读书笔记 《数据结构》严蔚敏,第一章的三元组实现,C++描述。

Triplet.h

#include

typedef int *Triplet;
typedef int Status;
enum value{WRONG=-2,OK,TRUE=10,FALSE=11};

Status InitTriplet(Triplet &T,int e1,int e2,int e3)
{
 if((T=new int[3])==NULL)
  return WRONG;
 
 T[0]=e1;
 T[1]=e2;
 T[2]=e3;
 
 return OK;
}

Status Get(Triplet T,int i,int &e)
{
 if(i<0||i>3)
  return WRONG;
 e=T[i-1];
 return OK;
}

Status Put(Triplet &T,int i,int e)
{
 if(i<0||i>3)
  return WRONG;
 T[i-1]=e;
 return OK;
}

bool IsAsscending(Triplet T)
{
 return T[0]<=T[1]&&T[1]<=T[2];
}

bool IsDecending(Triplet T)
{
 return T[0]>=T[1]&&T[1]>=T[2];
}

Status Max(Triplet T,int e)
{
 e=T[0]>T[1]?(T[0]>T[2]?T[0]:T[2]):(T[1]>T[2]?T[1]:T[2]);
 return OK;
}

main.cpp

#include "Triplet.h"

int main()
{
 Triplet Tint;
 int i,tmp;
 if(InitTriplet(Tint,1,2,3)==OK)
 {
  for(i=1;i<=3;i++)
   if(Get(Tint,i,tmp)==OK)
    std::cout<<"三元组元素"< }

 if(Put(Tint,2,5)==OK && Get(Tint,2,tmp)==OK)
  std::cout<<"元素2的值被修改为:"<

 if(IsAsscending(Tint)==true)
  std::cout<<"三元组升序";
 if(IsDecending(Tint)==true)
  std::cout<<"三元组降序";

 if(Max(Tint,tmp)==OK)
  std::cout<<"最大元素"<

 return 0;
}

Leave a Reply

Your email address will not be published.