#include
#include
#include
using namespace std;
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXSIZE 100
typedef int Status;//定义返回状态类型为int
typedef char ElemType;//定义元素类型为char
//定义顺序表
typedef struct{
ElemType data[MAXSIZE];//定义数组长度
int length;//长度
}SqList;
//初始化线性表
Status InitSqList(SqList *sq){
cout << "Please input the length of the order sheet:"<> sq->length;
if(sq->length<1){
return ERROR;
}
cout << "Please input elements into the sheet:"<length;i++){
cin >> sq->data[i];
}
return OK;
}
//输出线性表
void OutputSqList(SqList sq){
cout << "The order sheet is :"<> i;
//如果线性表长度为0,获取的位置不在范围内,获取失败
if(sq.length==0 || i>sq.length || i<1){
return ERROR;
}
int index = i-1;//获得位置与索引转换
cout << "The element is " << sq.data[index] <> j;
cout << "Please input the element:"<> e;
int index = j-1;
if(index>-1 && indexlength-1;j>=index;j--){//移位
L->data[j+1] = L->data[j];
}
//把元素填充到空位中
L->data[index] = e;
//表长+1
L->length++;
return OK;
}
return ERROR;
}
//删除元素
Status DeleteElem(SqList *sq){
int i = 0;
cout << "Please input the index of the deleted element :" <> i;
int index = i-1;
if(index<0){
return ERROR;
}
if(index > MAXSIZE-1){
return ERROR;
}
int j = 0;
for(j=index;jlength;j++){
sq->data[j] = sq->data[j+1];
}
//长度减少1
sq->length--;
return OK;
}
//修改元素
Status ModifyElem(SqList *sq){
cout << "Please input the index of modifying element :" <> i;
cout << "Please input the new element : "<> e;
int index = i-1;
if(index<0 || index > sq->length-1){//超出线性表长度
return ERROR;
}
sq->data[index] = e;
return OK;
}
//主界面
Status MainGUI(){
cout << "==============Welcome to learn study the order sheet============="<=0 && n<=5){
res = true;
}
return res;
}
int main(){
SqList sq;
int flag =true;
MainGUI();
InitSqList(&sq);
OutputSqList(sq);
while(flag){
Menu();
int n=0;
cin >> n;
if(GetNumber(n)){
switch(n){
case 1:
InsertElem(&sq);
break;
case 2:
GetElem(sq);
break;
case 3:
DeleteElem(&sq);
break;
case 4:
ModifyElem(&sq);
break;
case 5:
flag = false;
break;
default:
cout << "Input Error,please enter again"<