###### 严蔚敏版数据结构->第一章 程序

/*_############################################################################
_##
_##  严蔚敏版数据结构->第一章 程序
_##  Author: xwlee
_##  Time: 2007.09.16
_##  Chang'an University
_##  Development condition: win2003 Server+VC6.0 (使用了C/C++语法)
_##
_##  http://csdn.net/Micro_lee
_##
_##  数据结构程序测试--抽象数据类型Triplet
_##########################################################################*/

#include <stdlib.h>
#include <stdio.h>

//函数结果状态代码
#define TRUE         1
#define FALSE        0
#define OK           1
#define ERROR        0
#define INFEASIBLE  -1
#define OVERFLOW    -2

typedef int Status;  //定义函数返回类型
typedef int ElemType;  //定义数组元素类型，具体情况要自己定义

typedef ElemType *Triplet;

//基本操作的实现
Status InitTriplet( Triplet &T, ElemType v1, ElemType v2, ElemType v3 )
{
T = (ElemType *)malloc( 3*sizeof(ElemType) );
if(!T)
exit(OVERFLOW);
T[0] = v1; T[1] = v2; T[2] = v3;

return OK;
}

Status DestroyTriplet( Triplet &T )
{
free( T );
T = NULL;
return OK;
}

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

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

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

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

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

Status Min( Triplet T, ElemType &e )
{
e = (T[0]<=T[1]) ? ( (T[0]<=T[2]) ? T[0] : T[2] ) :
( (T[1]<=T[2]) ? T[1] : T[2] );
return OK;
}

int main()
{
Triplet p;
ElemType x,y,z;
int i,e, my_max, my_min;

scanf("%d %d %d", &x, &y, &z );

if( InitTriplet( p, x, y, z) != OK )
printf("Init is error!/n");

for( i=1; i<4; i++  )
{
Get( p, i, e);
printf("Get(%d)=%d/n", i, e);
}

Put( p, 1, 100);
Put( p, 2, 200);
Put( p, 3, 300);

for( i=1; i<4; i++  )
{
Get( p, i, e);
printf("Get(%d)=%d/n", i, e);
}

Max( p, my_max );
Min( p, my_min );
printf("/nIsAscending=%d/nIsDescending=%d/nMax=%d/nMin=%d/n/n", IsAscending(p), IsDescending(p), my_max, my_min );

DestroyTriplet( p );
return 0;
}

#### 数据结构（严蔚敏李冬梅）课后答案第一章

2016-12-02 23:19:57

#### 数据结构算法实现（严蔚敏版配套实现程序）

2009年03月13日 2.09MB 下载

#### 数据结构算法实现（严蔚敏版配套实现程序）.zip

2016年02月17日 2.21MB 下载

#### 《数据结构》严蔚敏版（java解）——第二章 线性表01 基本操作

2017-02-08 11:55:58

#### 数据结构（c++版）笔记整理——第一章

2014-09-13 20:40:40

#### 《数据结构（C语言版）》严蔚敏第4版读书总结与数据结构入门回顾

2014-07-31 11:05:39

#### 严蔚敏的数据结构第二版

2008年11月30日 14.28MB 下载

#### 数据结构（C语言版）.严蔚敏（带书签）.pdf

2015年01月01日 29.69MB 下载

#### 严蔚敏.吴伟民等《数据结构(c语言版)》一书的全部源代码

2011年04月22日 477KB 下载

#### 严蔚敏版数据结构课本代码——算法2.1

2017-10-22 15:49:36