#include <stdio.h>
#include <stdlib.h>
/* 数组长度及顺序表的初始化长度 */
#define MAX_SIZE 10
#define LEN 5
/* 数据元素类型 */
typedef int SqType;
/* 顺序表的结构定义 */
typedef struct Sqlist
{
SqType elem[MAX_SIZE]; // 存放顺序表元素的数组
int length; // 顺序表的长度
}Sqlist;
//函数的声明
Sqlist create_list(void); // 初始化顺序表
void printf_list(Sqlist l);
int list[LEN] = {5, 2, 0, 13, 14}; // 用于初始化顺序表
int Locate(Sqlist l,SqType e);//顺序表中查找e的元素
int main(void)
{
Sqlist l;
/* 创建一个顺序表:(5, 2, 0, 13, 14) */
l = create_list();
printf("创建的顺序表为:");
printf_list(l); // 打印输出顺序表
Locate(l,0);
}
Sqlist create_list(void)
{
Sqlist l;
for(int i = 0; i < LEN; i++)
{
l.elem[i] = list[i];
}
l.length = LEN; // 顺序表长度
return l; // 创建成功的顺序表
}
int Locate(Sqlist l,SqType e){
int i=0;
while((i<=l.length)&&(l.elem[i]!=e))
i++;
if(i<=l.length){
printf(i+1);
return(i+1);
}else{
return(-1);
}
}
void printf_list(Sqlist l)
{
int i;
for(i = 0; i < l.length; i++)
{
printf("%d ",l.elem[i]);
}
printf("(表长为%d)", l.length);
printf("\n\n");
}