#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
#include<iostream>
using namespace std;
//线性表的顺序储存结构
typedef int ElemType; //定义ElemType为int类型
typedef struct{
ElemType *data; //存放顺序表中的元素
int length; //存放顺序表当前的长度
int listsize;
}SqList; //声明顺序表的类型
//初始化当前顺序表长度为0
void InitList(SqList &L){ //L回传给实参,用引用类型
L.data = new int[LIST_INIT_SIZE];
L.length = 0;
L.listsize =LISTINCREMENT;
}
//返回L中第i个元素的值
int GetElem(SqList L, int i, ElemType &e){
if(i<1 || i>L.length) //参数i错误时返回0
return 0;
else{
e = L.data[i-1];
return 1;
}
}
void locateElem(SqList&l) //查找
{int num;
cout<<"请输入您要查找的数据,我们会返回它的序数";
cin>>num;
for (int i = 0; i < l.length; i++) {
while (l.data[i] == num) {
cout << "要查找的数据序号为" <<i+1<<endl;
break;
}
while (i + 1 > l.length+1) {
cout << "查无此数据" << endl;
break;
}
}cout<<endl;}
//输出数据
void output(SqList b)
{
cout << "当前顺序表如下>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> " << endl;
for (int i = 0; i < b.length; i++) {
cout << b.data[i] << endl;
}
cout << endl;
}
void print(int*p)//输出函数,用于遍历
{printf("%d ", *p);
}
void ListTraverse(SqList l,void(*print)(int*))
{ cout<<"遍历操作为输出顺序表"<<endl;
int *p;