69,373
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
typedef int elemType;
struct List{
elemType *elem;
int length;
int listsize;
};
/**初始化线性表**/
int InitList_Sq(struct List *L){
L->elem =(elemType*) malloc(10 * sizeof(elemType));
if(!L->elem) return -1;
L->length = 0;
L->listsize = 10;
return 1;
}
/**将长为length的字符数组arr中第i个元素起之后的k个元素,按顺序存储在线性表L中。**/
int Arr_to_Sq(struct List *L, int *arr, int length, int i, int k)
{
int z = i+k;
int *pa = L->elem;
if(z > length || i < 0 || k < 0)
{
return -1;
}
while(i < z)
{
*pa++ = arr[i];
i++;
}
L->listsize = L->length = k;
return 1;
}
void display(struct List *L)
{
int i;
for(i=0;i<L->length;++i)
{
printf("%d\t",*(L->elem++));
}
}
void main()
{
struct List L;
int a[] = {1,2,3,4,5,6};
InitList_Sq(&L);
Arr_to_Sq(&L,a,6,2,3);
display(&L);
}
#include <stdio.h>
#include <stdlib.h>
typedef int elemType;
struct List{
elemType *elem;
int length;
int listsize;
};
/**初始化线性表**/
int InitList_Sq(struct List *L){
L->elem =(elemType*) malloc(10 * sizeof(elemType));
if(!L->elem) return -1;
L->length = 0;
L->listsize = 10;
return 1;
}
/**将长为length的字符数组arr中第i个元素起之后的k个元素,按顺序存储在线性表L中。**/
int Arr_to_Sq(struct List *L, int *arr, int length, int i, int k)
{
int z = i+k;
if(z > length || i < 0 || k < 0)
{
return -1;
}
int *pa = L->elem;
while(i < z)
{
*pa++ = arr[i];
i++;
}
L->listsize = L->length = k;
return 1;
}
void display(struct List *L)
{
int i;
for(i=0;i<L->length;++i)
{
printf("%d\t",*(L->elem++));
}
}
void main()
{
struct List L;
InitList_Sq(&L);
int a[] = {1,2,3,4,5,6};
Arr_to_Sq(&L,a,6,2,3);
display(&L);
}