//我的查找是错的,为什么啊为什么啊啊啊啊啊啊,求大神指导
#include<stdio.h>
#include<malloc.h>
#define MAXSIZE 50
typedef int elemtype;
typedef struct
{
elemtype elem[MAXSIZE];
int last;
}SeqList;
SeqList *Init_SeqList()
{
SeqList *L;
L=(SeqList*)malloc(sizeof(SeqList));//(SeqList*)进行一个类型转换,把返回的指针转成Seqlist这种,这样就可以把这个指针赋给L了。
L->last=-1;
return L;
}
void Crate(SeqList *L)
{
int i=0;
elemtype ch;
scanf("%d",&ch);
while(ch!=0)
{
L->elem[i++]=ch;
scanf("%d",&ch);
L->last=i-1;
}
}
void PrintL(SeqList *L)
{
int i;
printf("此表为:\n");
for(i=0;i<L->last;i++)
{
printf("%d",L->elem[i]);
}
printf("%d",L->elem[i]);
printf("\n");
}
void Length(SeqList *L)
{
printf("此表长度:\n%d\n",L->last+1);
}
int Locate(SeqList *L,elemtype e)
{
int i=0;
while(i<=L->last&&L->elem[i]!=e)
{
i++;
}
if(i<L->last)
{
return (i+1);
}
else return -1;
}
int main()
{
int Locate(SeqList *L,elemtype e);
int b;
SeqList *L;
elemtype a;
L=Init_SeqList();
printf("建立顺序表:\n");
Crate(L);
PrintL(L);
Length(L);
printf("查找的数字为");
scanf("%d",&a);
b=(L,a);
printf("%d",b);
return 0;
}
qq_墨宝宝啊宝_04357478
相关分类