#include using namespace std;
#define MAXSIZE 10//定义顺序表的长度
typedef struct{
char data[MAXSIZE];//就是char data[100] MAXSIZE就是顺序表的最大长度
int length; //这个是结构体里的数据的个数
}ArrayList, *List;
//初始化顺序表
void init(ArrayList *list){
list->length = 0;
cout << "顺序表初始化成功!!!\n" << endl;
}
//输出全部的顺序表元素
void getAll(ArrayList *list){
for(int i=0;i < list->length;i++){
printf("第 %d 个元素是: %c\n",i,list->data[i]);
}
}
//在顺序表的最后添加元素
int append(ArrayList *list,char data){
if(list->length > MAXSIZE - 1){
cout << "顺序表已满!!!\n" << endl;
return 0;
}
list->data[list->length] = data;
list->length++;
return 1;
}
//移除顺序表中的第index个元素
int remove(ArrayList *list,int index){
if (index<0 || index>list->length) {
cout << "索引下标越界!!!\n" << endl;
return 0;
}
for (int i=index;i<=list->length;i++) {
list->data[i]=list->data[i+1];
}
list->length--;
return 1;
}
//在顺序表的第index位置插入元素
int insert(ArrayList *list,int index,char data){
if (index<0||index>=list->length) {
cout< return 0;
}
for (int i=list->length;i>index;i--){
list->data[i+1]=list->data[i];
}
list->data[index]=data;
list->length++;
return 1;
}
//更改顺序表第index个的内容
int replace(ArrayList *list,int index,char data){
if (index<0||index>list->length) {
cout< return 0;
}
list->data[index]=data;
return 1;
}
//获取顺序表的长度
int length(ArrayList *list){
if (list=NULL){
cout< return 0;
}
return list->length+1;
}
void main() {
ArrayList list;
init(&list);
for (int i = 0; i <= 11; i++) {
append(&list,'a'+i);
}
remove(&list,2);
insert(&list,2,'c');
replace(&list,2,'x');
getAll(&list);
system("pause");
}