数据结构 顺序表的定义及算法实现,求助12个填空的答案,谢谢。

【填空题】

请根据注释和前后文内容,将下方横线处的代码补充完整。

#include <stdio.h> 

#define ListSize 100 //定义一个宏名ListSize=100

typedef int Datatype;//给数据类型int起别名为Datatype

typedef struct{

            1     ;//顺序表主要采用一维数组作为存储结构

            2     ;//顺序表的长度,顺序表下标从0开始计算,等于总长度减一。

}SeqList;

 

//初始化顺序表

void InitList(SeqList *L){

    //顺序表的长度为0

    L->Length = 0;

}

 

//查找,返回对应位置

int FindList(SeqList *L, Datatype x){

    int i;

    //遍历顺序表

    for (i = 0; i < L->Length; i++){

        //如果当前位置值与查找值相等,返回当前位置

        if (        3         )

        {

            return i+1;

        }

    }

    //若找到最后一个位置的值与查找值都不相等,则返回-1

    if (i == L->Length){

        return -1;

    }

}

 

void OutputList(SeqList *L) {

    int j;

    //判断表的长度。

    if (L->Length == 0)   {

        ERROR("表空,无法输出节点!");

    }

    for (j = 0; j <= L->Length - 1; j++){

        printf("%5d", L->data[j]);

    }

    printf("\n");

//插入

void InsertList(SeqList *L,Datatype x,int i){

    int j;

    //判断插入位置的合法性。

    if (i<1 || i > L->Length + 1){

        ERROR("位置信息错误!");

    }

    //判断表的长度。

    if (    4     ){

        ERROR("表满,无法插入新节点!");

    }

    //要插入位置到最后位置的元素后移

    for (j = L->Length - 1; j >= i - 1; j--){

        L->data[j+1]=L->data[j];

    }

    //将要插入的元素插入

                5             ;

    //表的长度增加1

                6             ;

}

 

//删除

void DeleteList(SeqList *L, int i){

    int j;

    //判断删除位置的合法性

    if (i < 1 || i > L->Length){

        ERROR("位置信息错误!");

    }

    //判断表的长度。

    if (            7             ){

        ERROR("表空,无法删除!");

    }

    //删除的下一个位置到最后位置的元素前移

    for (j = i; j <= L->Length - 1; j++){

                    8             ;

    }

    //表的长度减1

                9             ;

}

 

void main(){

    SeqList L;

    InitList(&L);

    Datatype x;

    int i; 

    //输出提示语句

            10     ("输入10个节点值:\n");

    for (i = 0; i<10; i++){

        //输入节点x的值

        scanf("%d",&x);

        //将x的值插入到顺序表L的i位置

                    11         (&L,x,i);

    } 

    printf("输入删除位置的下标:\n");

    scanf("%d",&i);

    //删除i位置的节点

                12         (&L, i);

   

    printf("输入所有的成绩:\n");

    OutputList(&L);   

}

第1空:                            

第2空:                            

第3空:                            

第4空:                            

第5空:                            

第6空:                            

第7空:                            

第8空:                            

第9空:                            

第10空:                            

第11空:                            

第12空:                            

int data;

SeqList * next;

依次类推完成以下部分

 

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632