标签:can 数据结构 ret oid type std getc hoc print
/ 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;
}
标签:can 数据结构 ret oid type std getc hoc print
原文地址:https://blog.51cto.com/dreamerhan/2452650