C语言 数据结构 线性表顺序表 线性表的顺序存储结构

xiaoxiao2021-02-28  115

//C语言--数据结构--线性表  顺序表 线性表的顺序存储结构 //其实顺序表就相当于一个数组 #include <stdio.h> #include <stdlib.h> #include <iostream> #include <malloc.h> #include <windows.h> 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<<"索引下标越界!!!\n"<<endl;         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<<"索引下标越界!!!\n"<<endl;         return 0;     }     list->data[index]=data;     return 1; } //获取顺序表的长度 int length(ArrayList *list){     if (list=NULL){         cout<<"未初始化顺序表!!!\n"<<endl;         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"); }
转载请注明原文地址: https://www.6miu.com/read-24184.html

最新回复(0)