利用定義的順序表的數據類型SeqList就可以定義變量了。變量L的定義與使用方法有一下兩種。
1.通過變量定義語句
SeqList L;將L定義為SeqList類型的變量,利用L.number[i-1]來訪問順序表
中序號為i的元素 ai,L.length可得到順序表中最后一個元素的下標,
而L.length+1就是順序表的長度
#include<stdio.h>#define MAXSIZE 100typedef struct{ int number[MAXSIZE]; int length;}SeqList;int Locate(SeqList L,int e){ int i=0; while((i<L.length)&&(L.number[i]!=e)) i++; if(i<L.length) return (i); else return (-1);}int main(){ SeqList L; L.length=0; for(int i=0;i<5;i++){ L.number[i]=i; L.length++; } 2.通過指針變量定義語句SeqList L1,*L;L=&L1;將L定義為指向SeqList 類型的指針變量,使用時,可以通過
L->number[i-1]來訪問順序表中序號為i的元素ai,使用
L->length+1則得到順序表的長度。
#include<stdio.h>#define MAXSIZE 100typedef struct{ int number[MAXSIZE]; int length;}SeqList;int Locate(SeqList L,int e){ int i=0; while((i<L.length)&&(L.number[i]!=e)) i++; if(i<L.length) return (i); else return (-1);}int main(){ SeqList L1,*L; L=&L1; L->length=0; for(int i=0;i<5;i++){ L->number[i]=i; L->length++; } printf("%d/n",Locate(*L,3));//返回所在值所在位置的下標 }新聞熱點
疑難解答