⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test1.cpp

📁 一个基本的数据结构的源程序
💻 CPP
字号:
#include "test1.h"
typedef int * triplet;
//----------基本操作的函数原型说明--------------
Status InitTriplet(triplet T,ElemType v1,ElemType v2,ElemType v3);
//构造数组
//Status DestroyTriplet(triplet &T);
//销毁数组
Status Get(triplet T,int i, ElemType &e);
//返回第i元值
//Status Put(triplet &T,int i, ElemType e); 
//改变第i元值
Status IsAscending(triplet T);
//判断是否是升序
Status IsDescending(triplet T);
//判断是否是降序
Status Max (triplet T,ElemType &e);
//找最大值
Status Min (triplet T,ElemType &e);
//找最小值

int flag=0;
Status c;
void main()
{
	ElemType  b,a[3]={10,20,30};
	//测试构造数组函数
	c=InitTriplet(a,10,20,30); 
	if(c==OK)  printf("构造三元数组成功\n");
    //if(!c&&!flag)      printf("该数组不不存在\n");
	else
	{   //测试取某值函数
		c=Get(a,1,b);
		if(c)    printf("该数组的第1元的值为%d\n",b);
		else     printf("取值操作失败\n");
	}
	
	//测试置某元值函数
	/*c=Put(&a,1,12);
	if(c)    printf("已置第1元的值为12\n");
	else     printf("附值操作失败\n");*/

	//测试升序判断函数
	c=IsAscending(a);
	if(c)    printf("该数组元素是按升序排列\n");
	else     printf("该数组元素不是按升序排列\n");

	//测试降序判断函数
	c=IsDescending(a);
	if(c)    printf("该数组元素是降升序排列");
	else     printf("该数组元素不是降升序排列");

	//测试找最大值函数
	c=Max(a,b);
	printf("该数组的最大元素是%d",b);

    //测试找最小值函数
	c=Min(a,b);
	printf("该数组的最小元素是%d",b);

	//测试销毁数组函数
	/*c=DestroyTriplet(&a);
	if(c)    printf("数组空间已释放");*/
}


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;
	flag=1;
	return OK;
}

/*Status DestroyTriplet(triplet &T)
{
	free(T);
	T=NULL;
	flag=0;
	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[0]<=T[2])&&(T[1]<=T[2]);
}

Status IsDescending(triplet T)
{
	return(T[0]>=T[1])&&(T[0]>=T[2])&&(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;
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -