數據結構之一:線性表的順序存儲結構

  • 線性表的順序存儲結構

/ 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;
}

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