编写一个程序,实现顺序表的各种基本运算和整体建表算法(假设元素的类型 elemtype位为char),并在此基础上设计一个程序完成以下功能

1. 初始化顺序表L。

2. 依次插入a,b,c,d,e元素。

3. 输出顺序表L。

4. 输出顺序表L的长度。

5.输出顺序表L 的第3个元素。

6.输出元素C的位置。

7.在第4个元素位置处插入f元素。

8.删除顺序表L的第3 个元素。

#include   
#include   
#include   
using namespace std;  
typedef char ElemType;  
#define Maxsize 50  
typedef struct  
{  ElemType data[Maxsize];  int length;  
}SqList;  
void InitList(SqList *&L)  //初始化线性表  
{  L=(SqList *)malloc(sizeof(SqList)); //分配存放线性表的空间  L->length=0;                        //置空线性表长度为0  
}   
bool ListEmpty(SqList *L) //判断线性表是否为空  
{  return (L->length==0);  
}  
int ListLength(SqList *L) //求线性表的长度  
{  return (L->length);  
}  
void DispList(SqList *L) //输出线性表  
{  int i;  if(L->length==0) return;  for(i=0;ilength;i++)  printf("%c ",L->data[i]);  printf("\n");  
}  
bool GetElem(SqList *L,int i,ElemType &e)  //求线性表中某个元数的值  
{  if(i<1||i>L->length)  return false;  e=L->data[i];  return true;  
}  
int LocateElem (SqList *L,ElemType e)  //按元素值查找  
{  int i=0;  while(ilength&&L->data[i]!=e)  i++;  if(i>=L->length)  return 0;  else  return i+1 ;  
}  
bool ListInsert(SqList *L,int i,ElemType e)  //插入数据元素  
{  int j;  if(i<1||i>L->length+1)  return false;  i--;  for(j=L->length;j>i;j--)  L->data[j]=L->data[j-1];  L->data[i]=e;  L->length++;  return true;  
}  
bool ListDelete(SqList *L,int i,ElemType e)  
{  if(i<1||i>L->length)  return false;  i--;  e=L->data[i];  for(;ilength-1;i++)  {  L->data[i]=L->data[i+1];  }  L->length--;  return true;  
}  
int main()  
{  SqList *L;  ElemType e;   cout<<"(1)初始化顺序表L:"<

运行截图

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部