///**********************************************************************
//*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;
//}
顺序表
最新推荐文章于 2025-04-24 01:34:23 发布
1601

被折叠的 条评论
为什么被折叠?



