按顺序存储结构.doc

按顺序存储结构.doc

ID:57669085

大小:52.00 KB

页数:14页

时间:2020-08-31

按顺序存储结构.doc_第1页
按顺序存储结构.doc_第2页
按顺序存储结构.doc_第3页
按顺序存储结构.doc_第4页
按顺序存储结构.doc_第5页
资源描述:

《按顺序存储结构.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/*按顺序存储结构 代码如下:*/#include#defineMAXSIZE1024#defineTRUE 1#defineFALSE -1//定义元素为整形typedefintElemType;typedefstruct{  ElemTypesata[MAXSIZE];  intlen;}SeqList;SeqListSeqListInit() //顺序表初始化{//构造一个空链表  SeqListL;  L.len=0;  returnL;}intSeqListFull(SeqListL) /

2、/判断是否表满,满则返回TRUE{  if(L.len==MAXSZE)  { printf("fulllist"); returnTRUE;  }  elsereturnFALSE;}voidSeqListInsert(SeqListL,inti,ElemTypex) //顺序表插入函数{//顺序表中的第i个位置上插入元素x  inti,j;  if((i=SeqListFull(L))==1)  { exit(0);  }  if(i<1

3、

4、i>L.len+1)  { printf("wrongposition"

5、);  exit(0);  }  for(j=L.len-1;j>=i-1;j--)       L.data[j+1]=L.data[j];  L.data[i-1]=x;  L.len++;}intSeqListAdd(SeqListL)//顺序表在第一个位置添加元素{  inti;  printf("Inputthenewelement");  scanf("%d",&i);  SeqListInsert(L,1,i);  returnTRUE;}voidSeqListOrder(SeqListL)//将元素按

6、有小到大排列{  inti,j,l;  for(i=1;i<=L.len;i++)     for(j=i+1;j<=L.len;j++)        if(L.data[i-1]>L.data[j-1])     {    l=L.data[i-1];                  L.data[i-1]=L.data[j-1];    L.data[j-1]=l;           }   SeqListTraverse(L);}voidSeqListDelete(SeqListL,inti)//删除函数

7、{//删除第i个位置上的元素  intj;  if(j=SeqListPosi(L,i)==-1)  {  exit(0);  }  for(j=i;j<=L.len;j++)       L.data[j-1]=L.data[j];   L.len--;}intSeqListLocate(SeqListL,ElemTypex)//查找x{//在顺序表中查找元素x并返回x的下标  inti=1;  while(i<=L.len&&L.data[i-1]!=x) i++;  if(i<=L.len)returni;  

8、elsereturnFALSE;}intSeqListPosi(SeqListL,inti)//判断下标是否正确,不正确则返回FALSE{  if(i<1

9、

10、i>L.len)  {       printf("WrongPosition");       returnFALSE;  }  elsereturnTRUE;}intSeqListGet(SeqListL,inti) {//返回第i个位置上的元素  intj;  if(j=SeqListPosi(L,i)==-1)  {     exit(0);  }  r

11、eturnL.data[i-1];}SeqListSeqListClear(SeqListL)//清空顺序表{  L.len=0;  returnL;}intSeqListLength(SeqListL)//求顺序表的长度{  returnL.len;}intSeqListEmpty(SeqListL)//判断顺序表是否为空,空则返回TRUE{  if(L.len==0)  {     printf("ListNULL");     retrunTRUE;  }  elsereturnFALSE;}intSeqLis

12、tPrior(SeqListL,intx)//求x的前驱{  inti;  i=SeqListLocate(L,x);  if(i==-1)   printf("ThereisnoxinSeqListLocate");  else   {    if(i==1)    printf("Thefirstelementhasn'tprior"); 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。