1.菜单展示
2.定义结构体
#include<stdio.h>
#include <stdlib.h>
#define MAXSIZE 5
typedef int ElemType;
typedef struct {
ElemType data[MAXSIZE];
int len = 0;
}SqList;
3.追加元素
bool append(SqList& sql, ElemType data) {
if (sql.len == MAXSIZE) {
return false;
}
else {
sql.data[sql.len++] = data;
return true;
}
}
4.插入元素
bool insert(SqList& sql, int pos, ElemType& data) {
if (pos < 1 || pos > sql.len + 1) {
return false;
}
else if (sql.len == MAXSIZE) {
return false;
}
else {
for (int i = sql.len; i >= pos; i--) {
sql.data[i] = sql.data[i - 1];
}
sql.data[pos - 1] = data;
sql.len++;
return true;
}
}
4.修改元素
bool modify(SqList& sql, int pos, ElemType& data) {
if (pos >= 1 || pos < sql.len) {
sql.data[pos - 1] = data;
return true;
}
else {
return false;
}
}
5.删除元素
bool deleteSql(SqList& sql, int pos, ElemType& data) {
if (pos<1 || pos>sql.len) {
return false;
}
else {
for (int i = pos; i < sql.len; i++) {
sql.data[i - 1] = sql.data[i];
}
sql.len--;
data = sql.data[pos - 1];
return true;
}
}
6.查询元素
bool query(SqList& sql, int pos, ElemType& data) {
if (pos<1 || pos>sql.len) {
return false;
}
else {
data = sql.data[pos - 1];
return true;
}
}
7.遍历元素
void printSqlList(SqList& sql) {
for (int i = 0; i < sql.len; i++) {
printf("a[%d] = %d\n", i, sql.data[i]);
}
}
8.表中长度
int printListLength(SqList& sql) {
return sql.len;
}