数据结构之一:线性表的顺序存储结构

  • 线性表的顺序存储结构

/ 1. 为实现线性表的顺序存储结构,需要引用两个C类库/
#include <stdio.h>
#include <stdlib.h>

/2. 向内存申请一块地址空间,空间大小为100的宏/
#define MAXSIZE 100

/3. 定义线性顺序表的结构体/
typedef int DataType;
typedef struct{
DataType = *data;
int length;
}SeqList;

/4. 声明让用户按任意键的方法/
void waitFor(){
printf("\n请按任意键...\n");
getchar();
}

/5. 声明判断让用户是否继续的方法/
int go_on(){
char choce;
while(1){
if(choice == 'Y' || choice == 'y')
break;
if(choice == 'N' || choice == 'n')
break;
exit (-1);
}
return (-1);
}

/6. 构造一个线性空顺序表/
void Init_SeqList(SeqList L){
L -> data = (Datatype
)malloc(sizeof(Datatype));
if(!L -> data){
printf("\n内存分配失败。\n");
}
L -> length = 0;

/7. 线性空顺序表输入让用户选择元素位置与元素/
void Insert_SeqList(SeqList *L,int i, DataType x){
int i, flag, insert_flag = 1;
while(1){
printf("请输入要插入元素的位置:");
scanf("%d",&i);
printf("请输入要插入的元素");
scanf("%d",&x);

                            if(insert_flag = 1){
                                    printf("插入成功。\n");
                          else{
                                 printf("插入失败。\n");
                            flag = go_on();
            }

/8. 线性空顺序表插入元素值/
int Insert(SeqList L){
DataType
p,q;
if(L -> data == MAXSIZE){
printf("\n表满,不能插入。\n");
return (-1);
if(i < 1 || i > L -> length + 1){
printf("\n插入位置错,不能插入。\n");
return (0);
for(int p = (L -> data[L -> length - 1]); p >= q; p--){
(p + 1 ) = p
}
q = x;
L -> length++;
return (1);

/9. 输出并显示/
int main(){
SeqList L;
char choice;
int flag = 1;
do{
printf("\n");
printf("-----------顺序表(动态数组实现)------------\n");
printf("----------------------1. 插入元素--------------------\n");
printf("----------------------------------------------------------\n");
printf("请选择[]1/2/3/4/0:");
choice = getchar();
swicth(choice){
case '1':
Insert(&L);
break;
}
waitFor();
}while(flag = 1);
return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章