顺序表的定义,赋初值
发布网友
发布时间:2022-05-17 11:20
我来回答
共2个回答
热心网友
时间:2023-10-20 00:17
#include <stdio.h>
#include <malloc.h>
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 20
#define OK 1
//下面定义一个新的数据类型——顺序表
typedef struct
{
int *elme;
int length;
int listsize;
}Sqlist;
//下面构造一个空的线性表(顺序表)并对其初始化的 *函数*
int InitList_Sq(Sqlist &L)
{
L.elme = (int * )malloc(LIST_INIT_SIZE *sizeof(int));
if (! L.elme) printf("OVERFLOW");//存储分配失败
L.length = 0; //空表的长度为0
L.listsize = LIST_INIT_SIZE; //初始存储容量
return OK;
}
void main(){
Sqlist l; //定义顺序表类型变量 1
InitList_Sq(l); //调用函数InitList_Sq
printf("how long do you want the Sqlist to be?\n");
scanf("%d",&l.length);
// int l.elme[l.length];
printf("请输入顺序表的值:\n");
for(int i=0;i< l.length ;i++)
scanf("%d",&l.elme[i]);
printf("顺序表的元素有:\n");
for(int i=0;i<l.length;i++)
printf("%d",l.elme[i]);
}
热心网友
时间:2023-10-20 00:17
帮你改了下
中间注释变成乱码了....- -
#include <stdio.h>
#include <malloc.h>
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 20
#define OK 1
//下面定义一个新的数据类型——顺序表
typedef struct
{
int *elme;
int length;
int listsize;
}SqList;
//下面构造一个空的线性表(顺序表)并对其初始化的 *函数*
int InitList_Sq(SqList &L)
{
L.elme = (int * )malloc(LIST_INIT_SIZE *sizeof(int));
if (! L.elme) printf("OVERFLOW");
L.length = 0;
L.listsize = LIST_INIT_SIZE;
return OK;
}
void main(){
int i;
SqList l ;
InitList_Sq(l) ;
printf("how long do you want the Sqlist to be?\n");
scanf("%d",&l.length);
// int l.elme[l.length];
printf("请输入顺序表的值:\n");
for(i=0;i< l.length ;i++)
scanf("%d",&l.elme[i]);
printf("顺序表的元素有:\n");
for(i=0;i<l.length;i++)
printf("%d",l.elme[i]);
}
顺序表的定义,赋初值
void main(){ Sqlist l; //定义顺序表类型变量 1 InitList_Sq(l); //调用函数InitList_Sq printf("how long do you want the Sqlist to be?\n");scanf("%d",&l.length);// int l.elme[l.length];printf("请输入顺序表的值:\n");for(int i=0;i< l.length ;i++)scanf("...
顺序表的定义,赋初值
void main(){ Sqlist l; //定义顺序表类型变量 1 InitList_Sq(l); //调用函数InitList_Sq printf("how long do you want the Sqlist to be?\n");scanf("%d",&l.length);// int l.elme[l.length];printf("请输入顺序表的值:\n");for(int i=0;i< l.length ;i++)scanf("...
顺序表中for(int j=last;j>i;j--)和for(int j=i;j<=last;j++)中j...
很明显吗 这是一个for循环语句 在for循环中 用;号分为三个部分, 你的For(int j=last;是赋初值,j>i;是控制语句 也叫结束循环语句;至于j--或j++)则是对j这个循环变量的变化规律的设定,j-- 每次j 在原有的基础上自减1:j=j-1 ->j--。 j++就是自增1咯。 你的第一个for循...
顺序表是如何通过定义知道长度的
这里定义的只是数据结构,顺序表还有插入,删除等操作,在这些操作中。比如插入操作,每插入一个新元素,length这个字段就加1,以此类推,顺序表初始的length=0,通过插入,删除等操作动态的改变这个值,是他一直都等于顺序表的长度。数据结构和算法都是为了解决问题,提供了一种思路,但这并不是绝对不变...
C语言(数据结构)顺序表的初始化
肯定是要分配空间的,你第一个程序的initsqlist函数中声明的结构体指针(Sqlist *a;),而第二个程序的initsqlist函数中是声明的结构体(Sqlist a;),前者只是在计算机内存中声明一个指针,而不会给这个指针分配内存空间,所以你初始化的时候要给这个指针用malloc函数分配空间,而后者是实实在在的...
数据结构中顺序表 typedef struct{ ElemType *elem; int length; int...
L.elem是一个指针没错,但是这里并没有给L.elem赋值,而是给L.elem[i] 赋值。这个跟数组类似,其实当你定义了一个数组 a[]的时候,a就是一个指向数组第一个元素的指针。而a[i] 其实就相当于 *(a+i) ,同样,L.elem[i] 就相当于 *(L.elem + i),是已经解引用了的。
怎么定义一个顺序表啊?急!!!
int i=1; /* i的初值为第1个元素的位序 */ p=L.elem; /* p的初值为第1个元素的存储位置 */ while(i<=L.length&&!compare(*p++,e))++i;if(i<=L.length)return i;else return 0;} Status PriorElem(SqList L,ElemType cur_e,ElemType *pre_e){ /* 初始条件:顺序线性表L已...
用C语言编写程序实现顺序表的插入操作,并且从键盘读取元素给顺序表初...
printf("顺序表中的元素:\n");for(int k=0;k<=L.length-1;k++)printf("%5d",L.elem[k]);printf("\n");} void main(){ //void SqList(List &L);//int InsertSq(List &L,int i,int e);使用之前已经定义了,可以不用函数说明 List L;int i,e; //函数调用前,变量必须定义...
顺序表初始化
define MAXSIZE 1000 //宏定义不要加;typedef struct { datatype data[MAXSIZE]; //不要用数组,用指针做 int last;}SeqList;SeqList *init_SeqList() //命名要一致 { SeqList *L;datatype x;while(L->data!=0){ L=new SeqList; //命名要一致 cin>>x;L->data=x; //...
C++ 顺序表 初始化 问题
成员函数必须在类里面声明啊 你把SeqList(SeqList<T,E>&L);在类里的声明一下,错误就没了 public:SeqList(int sz = defaultSize);SeqList(SeqList<T,E>&L);//构造函数