概述
#include"SqlList.h"
#include<stdio.h>
void main()
{
int i;ElemType e;
SqList L;
InitList(L);//初始化
ElemType a[]={1,5,4};//
CreatList(L,a,3);//整体创建数据表
printf("插入后线性表:");DispList(L);
InsElem(L,2,4); //插入数据
InsElem(L,3,5);
InsElem(L,6,6);
InsElem(L,4,7);
InsElem(L,5,8);
printf("线性表:");DispList(L);
printf("长度:%dn",GetLength(L));//表的长度
i=3;GetElem(L,i,e); //找出线性表中第i个元素
printf("第%d个元素:%dn",i,e);
e=5; //按值查找返回其逻辑序号
printf("元素%d是第%d个元素n",e,Locate(L,e));
i=3;printf("删除第%d个元素n",i);//删除第i个元素
DelElem(L,i);
printf("删除后线性表:");DispList(L);
DestroyList(L);//销毁表
}
SqList.h
#include<stdio.h>
#define MaxSize 100 //存放最大空间
typedef int ElemType; //int类型
typedef struct
{
ElemType data[MaxSize]; //存放数据表的元素
int length; //顺序表的实际长度
}SqList; //顺序表类型 重命名
void InitList(SqList &L) //初始化
{
L.length=0;
}
void CreatList(SqList &L,ElemType a[],int n)//创建数据表
{
int i,k=0;
for(i=0;i<n;i++)
{
L.data[k]=a[i];
k++;
}
L.length=k;
}
void DispList(SqList L)//输出
{
int i;
for(i=0;i<L.length;i++)
printf("%d ",L.data[i]);
printf("n");
}
int GetLength(SqList L)//返回L的length域值
{
return L.length;
}
int GetElem(SqList &L,int i,ElemType &e)//查找线性表第i个元素:通过引用整形参e返回第i个元素的值
{
if(i<1||i>L.length)
return 0;
else
{
e=L.data[i-1];
return 1;
}
}
int Locate(SqList L,ElemType x)//按值查找返回其逻辑序号
{
int i=0;
if(i<L.length&&i!=L.data[i])
i++;
if(i>L.length)
return 0;
else
return i+1;
}
int InsElem(SqList &L,ElemType x,int i) //在元素i(即物理下标i-1)处插入元素
{
int j;
if(i<1||i>L.length+1)
return 0;
for(j=L.length;j>i;j--)
L.data[j]=L.data[j-1];
L.data[i-1]=x;
L.length++;
return 1;
}
int DelElem(SqList &L,int i)//删除第i个元素
{
int j;
if(i<1||i>L.length)
return 0;
for(j=i;j<L.length;j++)
L.data[j-1]=L.data[j];
L.length--;
return 1;
}
void DestroyList(SqList L)//销毁表
{ }
最后
以上就是感动烧鹅为你收集整理的数据结构:线性表基本运算在顺序表上的实现的全部内容,希望文章能够帮你解决数据结构:线性表基本运算在顺序表上的实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复