//我的查找是錯(cuò)的,為什么啊為什么啊啊啊啊啊啊,求大神指導(dǎo)#include<stdio.h>#include<malloc.h>#define MAXSIZE 50typedef int elemtype;typedef struct {?? ?elemtype elem[MAXSIZE];?? ?int last;}SeqList;SeqList *Init_SeqList(){?? ?SeqList *L;?? ?L=(SeqList*)malloc(sizeof(SeqList));//(SeqList*)進(jìn)行一個(gè)類(lèi)型轉(zhuǎn)換,把返回的指針轉(zhuǎn)成Seqlist這種,這樣就可以把這個(gè)指針賦給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("此表長(zhǎng)度:\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("查找的數(shù)字為");?? ?scanf("%d",&a);?? ?b=(L,a);?? ??? ?printf("%d",b);?? ?return 0;}
最簡(jiǎn)單的線性存儲(chǔ)結(jié)構(gòu)的查找問(wèn)題
qq_墨寶寶啊寶_04357478
2018-04-07 10:53:38