数据结构--顺序表
顺序表示最简单的一个数据结构,直接贴代码吧,因为比较简单。
#include <stdio.h>
#include <stdlib.h>typedef struct sqlist
{
int *elem;
int length;
}sqList;
void initList (sqList *l)
{
l->elem = (int *)malloc(sizeof(int)*10);
if(!l->elem)
{
printf("Erro");
}
l->length = 0;
}
void getElem(sqList *l)//初始化
{
int i,j;
printf("请输人您想插入元素的个数:");
scanf("%d",&j);
printf("请输入%d个数\n",j);
for(i=0;i<j;i++)
{
scanf("%d",&l->elem[i]);
}
l->length = j;
printf("初始化成功!\n");
}
void locateElem(sqList *l,int e)//查询函数
{
int i;
for(i=0;i<l->length;i++)
{
if(l->elem[i]==e)
{
printf("您所查找的数的序号为%d\n",i+1);
}
}
}
void listInsert(sqList *l,int i,int e)//插入函数
{
int j;
if(i<1||(i>l->length))
{
printf("Erro\n");
}
else
{
for(j=l->length;j>=i;j--)
{
l->elem[j] = l->elem[j-1];
}
l->elem[i-1] = e;
l->length ++;
printf("插入成功");
}
}
void listDelet(sqList *l,int i)//删除函数
{
int j;
if(i<1||(i>l->length))
{
printf("Erro\n");
}
for(j=i;j<(l->length-1);j++)
{
l->elem[j-1] = l->elem[j];
}
l->length --;
printf("删除成功");
}
int main()
{
sqList L;
initList(&L);
getElem(&L);
locateElem(&L,2);
listInsert(&L,3,8);
listDelet(&L,4);
/**
测试随机去的数字
**/
return 0;
}