顺序表

///**********************************************************************
//*Copyright(c) 2015,Shaanxi University of Science & Technology
//*All rights reserve
//*
//*Purpose:To accomplish several operation of SeqList
//*Author :MaJing
//*Data   :2015_9_7
//*
//*Method :Pointer
//*Expection:recommend  &
//*Modify times: 1
//*
//***********************************************************************/
//#include<stdio.h>
//#include<assert.h>
//#include<string.h>
//
//#define MAX_SIZE 100
//typedef int DataType;
//
//typedef struct SeqList
//{
//	DataType array[MAX_SIZE];
//	size_t size;
//}SeqList;
//
//typedef enum Tag
//{
//	TRUE,
//	FALSE
//}Tag;
//
//typedef struct FindRet
//{
//	Tag isFind;  //是否找到标示
//	size_t index;//找到数据的下标
//}FindRet;
////初始化打印顺序表
//void InitSeqList(SeqList *pSeq);
//void PrintSeqList(SeqList *pSeq);
////尾插尾删
//void PushBack(SeqList *pSeq,DataType x);
//void PopBack(SeqList *pSeq);
////头插头删
//void PushFront(SeqList *pSeq,DataType x);
//void PopFront(SeqList *pSeq);
////插入、修改、删除制定下标
//void Insert(SeqList *pSeq,size_t index,DataType x);
//void Modified(SeqList *pSeq,size_t index,DataType x);
//void Remove(SeqList *pSeq,size_t index);
////查找、删除指定数据
//FindRet Find(SeqList *pSeq,DataType x,size_t index);
//int Erase(SeqList *pSeq,DataType x);
//Tag Erase(SeqList *pSeq,DataType x,Tag all);
//
//
//
//void InitSeqList(SeqList *pSeq)
//{
//	assert(pSeq);
//	memset(pSeq->array ,0,sizeof(DataType));
//	pSeq->size = 0;
//}
//
//void PrintSeqList(SeqList *pSeq)
//{
//	size_t i = 0;
//	assert(pSeq);
//	for(;i < pSeq->size ;i++)
//	{
//		printf("%d ",pSeq->array[i]);
//	}
//	printf("\n");
//}
//
//void PopBack(SeqList *pSeq)
//{
//	assert(pSeq);
//	if(pSeq->size < 1)
//	{
//		return;
//	}
//	--pSeq->size ;
//}
//
//
//void PushBack(SeqList *pSeq,DataType x)
//{
//	assert(pSeq);
//	if(pSeq->size > MAX_SIZE - 1)
//	{
//		return;
//	}
//	pSeq->array [(pSeq->size )++] = x;	
//}
//
//void PushFront(SeqList *pSeq,DataType x)
//{
//	size_t i = pSeq->size;
//	assert(pSeq);
//	if(pSeq->size > MAX_SIZE - 1)
//	{
//		return;
//	}
//	for(;i > 0;--i)
//	{
//		pSeq->array [i + 1] = pSeq->array [i];
//	}
//	pSeq->array [0] = x;
//	++pSeq->size ;
//}
//
//void PopFront(SeqList *pSeq)
//{
//	size_t i = 0;
//	assert(pSeq);
//	if(pSeq->size < 1)
//	{
//		return;
//	}
//	for(;i < pSeq->size ;i++)
//	{
//		pSeq->array [i] = pSeq->array [i + 1];
//	}
//	--pSeq->size ;
//}
//
//void Insert(SeqList *pSeq,size_t index,DataType x)
//{
//	assert(pSeq);
//	size_t i = pSeq->size;
//	if(pSeq->size > MAX_SIZE - 1)
//	{
//		return;
//	}
//	for(;i > index;--i)
//	{
//		pSeq->array [i + 1] = pSeq->array [i];
//	}
//	pSeq->array [index] = x;
//	++pSeq->size;
//}
//
//void Modify(SeqList *pSeq,size_t index,DataType x)
//{
//	assert(pSeq);
//	assert(index <= pSeq->size );
//	pSeq->array [index] = x;
//}
//
//void Remove(SeqList *pSeq,size_t index)
//{
//	assert(pSeq);
//	assert(index <= pSeq->size);
//	size_t i = index;
//	for(;i < pSeq->size - 1; ++i)
//	{
//		pSeq->array [i] = pSeq->array [i+1];
//	}
//	--pSeq->size ;
//}
//
//FindRet Find(SeqList *pSeq,DataType x,size_t index)
//{
//	FindRet ret;
//	assert(pSeq);
//	for(;index < pSeq->size ;index++)
//	{
//		if(pSeq->array [index] = x)
//		{
//			ret.isFind = TRUE;
//			ret.index = index;
//		}
//	}
//	ret.isFind = FALSE;
//	return ret;
//}
//
////0——>删除失败
////-1——>删除成功
//int Erase(SeqList *pSeq,DataType x)
//{
//	size_t i = 0;
//	assert(pSeq);
//	for(;i < pSeq->size ;i++)
//	{
//		if(pSeq->array [i] == x)
//		{
//			for(;i < pSeq->size - 1;++i)
//			{
//				pSeq->array [i] = pSeq->array [i+1];
//			}
//			--pSeq->size ;
//			//Remove(pSeq,i);
//			return 0;
//		}
//	}
//	if(i == pSeq->size )
//	{
//		return -1;
//	}
//	return 0;
//}
//
//Tag Erase(SeqList *pSeq,DataType x,Tag all)
//{
//	Tag success = FALSE;
//	FindRet ret;
//	assert(pSeq);
//
//	ret = Find(pSeq,x,0);
//	while(ret.isFind == TRUE)
//	{
//		success = TRUE;
//		Remove(pSeq,ret.index);
//		if(all == FALSE)
//		{
//			break;
//		}
//		ret = Find(pSeq,x,ret.index);
//	}
//	return success;
//}
//
//void Test()
//{
//	SeqList s1;
//	InitSeqList(&s1);
//	PushBack(&s1,5);
//	PushBack(&s1,8);
//	PushBack(&s1,6);
//	PushBack(&s1,9);
//	//PopBack(&s1);
//	//PrintSeqList(&s1);
//	PushFront(&s1,2);
//	//PrintSeqList(&s1);
//	//PopFront(&s1);
//	//PrintSeqList(&s1);
//	//Insert(&s1,2,6);
//	//PrintSeqList(&s1);
//	//Modify(&s1,2,1);
//	//PrintSeqList(&s1);
//	//Remove(&s1,3);
//	PrintSeqList(&s1);
//	printf("%d\n",Erase(&s1,4));
//	PrintSeqList(&s1);
//	//PrintSeqList(&s1);
//}
//
//int main()
//{
//	Test();
//	return 0;
//}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值