概述
#define MaxSize 50
#define ERROR 0;
#define OK 1;
typedef int ElemType;
typedef struct sqlList
{
ElemType data[MaxSize];
int length;
}SqList;
void InitList(SqList *L)
{
printf("InitListn");
L->length =0;
}
int GetElem(SqList *L,int i,ElemType *e)
{
printf("GetElemn");
if(i<1 || i>L->length)
{
printf("ERRORn");
return ERROR;
}
*e = L->data[i-1];
printf("e=%dn",*e);
return OK;
}
int LocateElem(SqList *L,ElemType e)
{
printf("LocateElemn");
return 0;
}
int ListInsert(SqList *L,ElemType e,int i)
{
printf("ListInsert");
if(i<1 || i > L->length+1)
{
return ERROR;
}
i--; //将逻辑顺序转为数组下标
for(int j=L->length;j>i;j--)
{
L->data[j] =L->data[j-1];
}
printf(" 插入数据=%dn", e);
L->data[i] =e;
L->length++;
return OK;
}
void printListData(SqList *L)
{
printf("printListDatan");
for(int i =0;i<L->length;i++)
{
printf("%d, ",L->data[i]);
}
printf("n");
}
int ListDelete(SqList *L,int i,ElemType *e)
{
printf("ListDelete");
if(i<1 || i > L->length+1)
{
return ERROR;
}
i--;
*e = L->data[i];
for(int j=i; j<L->length-1;j++)
{
L->data[j] = L->data[j+1];
}
L->length--;
return OK;
}
void Merge(SqList *L,SqList *L2,SqList L3)
{
}
void main()
{
printf("线性表n");
SqList sqList;
InitList(&sqList);
ElemType insertData = 1;
for(int i=0;i<10;i++)
{
insertData =i * 5;
ListInsert(&sqList,insertData,1);
}
printListData(&sqList);
ElemType *e;
GetElem(&sqList,5,e);
printf("getE:%dn",*e);
ListDelete(&sqList,2,e);
printf("deleted:%dn",*e);
printListData(&sqList);
//ElemType locateData;
//LocateElem(&sqList,locateData);
}
已经调试通过
最后
以上就是无聊鸡为你收集整理的线性表的顺序存储算法的全部内容,希望文章能够帮你解决线性表的顺序存储算法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复