如何进行初始化操作,建立一个空的线性表List
答案:2 悬赏:70 手机版
解决时间 2021-03-28 04:28
- 提问者网友:太高姿态
- 2021-03-27 23:13
如何进行初始化操作,建立一个空的线性表List
最佳答案
- 五星知识达人网友:猎心人
- 2021-03-28 00:15
你没说清楚,线性表有两种,顺序表和链表下面我分别写函数实现吧!
//顺序表初始化
#include
#include
#define list_init_size 5
#define listincrement 10
#define overflow -2
typedef int status;
typedef int elemtype;
typedef struct
{
elemtype *elem;
int length;
int listsize;
} sqlist;
status initlist_sq(sqlist &L)
{
L.elem=(elemtype *)malloc(list_init_size * sizeof(elemtype));
if(!L.elem) exit(overflow);
L.length=0;
L.listsize=list_init_size;
return 1;
}
//链表初始化
#include
#include
typedef int status;
typedef status elemtype;
typedef struct Lnode
{
elemtype date;
struct Lnode *next;
}Lnode , *linklist;
linklist L;
void createlist_L(linklist &L, int n)
{
linklist p;
L=(linklist)malloc(sizeof(Lnode));
L->next=NULL;
for (int i=n;i>0;--i)
{
p=(linklist)malloc(sizeof(Lnode));
printf("请输入链表的第%d个数!\n",i);
scanf("%d",&p->date);
p->next = L->next;
L->next = p;
}
}
在主函数直接调用,就会初始化为空了!!!
顺序表刚刚初始化要5个elemtype型空间,大于5的话,直接改#define list_init_size 5改为想要的大小
链表不需要要大小
//顺序表初始化
#include
#include
#define list_init_size 5
#define listincrement 10
#define overflow -2
typedef int status;
typedef int elemtype;
typedef struct
{
elemtype *elem;
int length;
int listsize;
} sqlist;
status initlist_sq(sqlist &L)
{
L.elem=(elemtype *)malloc(list_init_size * sizeof(elemtype));
if(!L.elem) exit(overflow);
L.length=0;
L.listsize=list_init_size;
return 1;
}
//链表初始化
#include
#include
typedef int status;
typedef status elemtype;
typedef struct Lnode
{
elemtype date;
struct Lnode *next;
}Lnode , *linklist;
linklist L;
void createlist_L(linklist &L, int n)
{
linklist p;
L=(linklist)malloc(sizeof(Lnode));
L->next=NULL;
for (int i=n;i>0;--i)
{
p=(linklist)malloc(sizeof(Lnode));
printf("请输入链表的第%d个数!\n",i);
scanf("%d",&p->date);
p->next = L->next;
L->next = p;
}
}
在主函数直接调用,就会初始化为空了!!!
顺序表刚刚初始化要5个elemtype型空间,大于5的话,直接改#define list_init_size 5改为想要的大小
链表不需要要大小
全部回答
- 1楼网友:逐風
- 2021-03-28 01:35
#include
#include
#include
typedef struct List
{
int data;
struct List *next;
}List;
main()
{
List a;
}
#include
#include
typedef struct List
{
int data;
struct List *next;
}List;
main()
{
List a;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯