码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-11-23 09:49:45      阅读:69      评论:0      收藏:0      [点我收藏+]

标签: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

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!