静态化网站和app的区别,360免费wifi电脑版,wordpress 中英文切换,响应式网页设计例子线性表是n个类型相同数据元素的有限序列#xff0c;对n0,除第一个元素无直接前驱#xff0c;最后一个元素没有直接后继外#xff0c;其他都是每个元素有一个直接前驱和直接后继#xff0c;而且是一对一的关系。 线性表#xff1a;顺序存储#xff0c;链式存储。 对n0,除第一个元素无直接前驱最后一个元素没有直接后继外其他都是每个元素有一个直接前驱和直接后继而且是一对一的关系。 线性表顺序存储链式存储。 1 按内容查找 #include stdio.h
#include stdlib.h
#include malloc.h#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define ElemType int
#define MAXSIZE 100 /*此处的宏定义常量表示线性表可能达到的最大长度*/
typedef struct
{ ElemType elem[MAXSIZE]; /*线性表占用的数组空间*/int last; /*记录线性表中最后一个元素在数组elem[ ]中的位置下标值空表置为-1*/
}SeqList;int Locate(SeqList L, ElemType e)
{ int i0; /*i为扫描计数器初值为0即从第一个元素开始比较*/while ((iL.last)(L.elem[i]!e)) /*顺序扫描表直到找到值为key的元素, 或扫描到表尾而没找到*/i; if (iL.last)return(i1); /*若找到值为e的元素则返回其序号*/elsereturn(-1); /*若没找到则返回空序号*/
}void main()
{SeqList l;int p,q,r;int i;printf(请输入线性表的长度:);scanf(%d,r);l.last r-1;printf(请输入线性表的各元素值:\n);for(i0; il.last; i){scanf(%d,l.elem[i]);}printf(请输入要查找的元素值:\n);scanf(%d,q);pLocate(l,q);if(p -1)printf(在此线性表中没有该元素!\n);elseprintf(该元素在线性表中的位置为:%d\n,p);
}
2插入操作 将原表中位置nn-1...i..上的结点依次后移到位置n1nn-1...i...的位置。空出i的位置将元素e插入。 #define OK 1
#define ERROR 0
int InsList(SeqList *L,ElenType e)
{
int k;
if((i1)||(iL-Last2))
{
printf(不合法\n);
return (ERROR);
}
if(L-LastMAXSIZE-1)
{
printf(表满\n);
return (ERROR);
}
for(kL-Last;ki-1;k--)
{
L-elem[k1]L-elem[k];//后一一个位置
L-elem[i-1]e;//将e插入
L-last;
return(Ok);
}
}
3删除操作 将原表中位置i1i2..n上的结点依次前移到位置ii1...n的位置将元素e删除。 int DellList(SeqList *L,int i,ElemType *e)
{
int k;
if(i1|| iL-last1)
{
printf(错误\n);
return(ERROR);
}
*eL-elem[i-1];
for(ki;iL-last;k)
L-elem[k-1]L-elem[k];
L-last--;
return (OK);
}