顺序表

来源:互联网 发布:压缩命令 linux 编辑:程序博客网 时间:2024/05/02 14:26
///**********************************************************************//*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;//}

0 0