数据结构——线性顺序表的初始化,创建,打印

线性顺序表的初始化,创建,打印。

数据结构

#include<stdlib.h>
#include<stdio.h>
#include<malloc.h>
#define MAXNUM 100
#define OVERFLOW 0
typedef int elemtype;

typedef struct Sqlist{
    elemtype *elem;
    int length;
    int LIST_SIZE;
}Seqlist;
void Initialist(Seqlist *l);//初始化线性顺序表
//void ListInsert(Seqlist *l,int i,int e);//插入元素,i为插入元素在表中的位置,e为插入元素的值
void Creatlist(Seqlist *l);//创造一个线性顺序表
void ptlist(Seqlist l);//将线性顺序表的内容打印出来
int main()
{
    Seqlist lb;
    Initialist(&lb);
    Creatlist(&lb);
    ptlist(lb);
    return 0;
}

void Initialist(Seqlist *l)//初始化线性顺序表
{
    l->elem=(elemtype *)malloc(MAXNUM*sizeof(elemtype));
    if(!l->elem)exit(OVERFLOW);
    l->LIST_SIZE=MAXNUM;
    l->length=0;
}
void Creatlist(Seqlist *l)
{
    int j;
    j=1;
    printf("请输入顺序表的长度:");
    int head;
    head=l->elem;
    scanf("%d",&l->length);//顺序表的长度,另外顺序表的长度不够时还需扩充
    for(int i=0;i<l->length;i++)
    {
        printf("请输入顺序表的第%d个元素:",j);
        scanf("%d",l->elem);
        l->elem++;
    }
    l->elem=head;//head的作用是不改变l.elem地址

}
void ptlist(Seqlist l)//将线性顺序表的内容打印出来
{
    int j;
    j=1;
    for(int i=0;i<l.length;i++)
    {
        printf("第%d个元素:",j);
        printf("%d",l.elem[i]);
        j++;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40634072/article/details/81181386