顺序表的操作,代码还未完成,卡在这一步了,在CreateList以外使用L->data就会导致程序结束
代码如下:
#include<stdio.h>
#include<stdlib.h>
/*顺序表的定义:*/
#define ListSize 100 /*表空间大小可根据实际需要而定,这里假设为100*/
typedef int DataType; /*DataType可以是任何相应的数据类型如int, float或char*/
typedef struct
{ DataType data[ListSize]; /*向量data用于存放表结点*/
int length; /*当前的表长度*/
}SeqList;
/*函数的声明*/
void CreateList(SeqList * L,int n)
{
L=(SeqList*)malloc(ListSize*sizeof(int));
printf("要输入的元素:");
for(int i=0;i<n;i++)
{
int p;
scanf("%d",&p);
L->data[i]=p;
}
printf("顺序表创建成功:");
L->length=n-1;
for(int j=0;j<n;j++)
{
printf("%d ",L->data[j]);
}
printf("\n");
} /*创建顺序表函数*/
int LocateList(SeqList *L,DataType x)
{
int i,j;
for(i=0;i<L->length;i++)
{
if(L->data[i]==x){
printf("位于结点:");
return i+1;}
}
} /*查找顺序表*/
void InsertList(SeqList * L,DataType x,int i); /*在顺序表中插入结点x*/
void DeleteList(SeqList * L,int i);/*在顺序表中删除第i个结点*/
void PrintList(SeqList L,int n); /*打印顺序表中前n个结点*/
int main() {
SeqList* L;
int i,j,k,m,n,x;
printf("要输入的元素个数:");
scanf("%d",&n);
CreateList( L, n);
printf("要查找的元素:");
scanf("%d",&x);
printf("\n");
LocateList(L, x);
return 0;
}