利用定义的顺序表的数据类型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++; } PRintf("%d/n",Locate(L,3));//返回所在值所在位置的下标 }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));//返回所在值所在位置的下标 }新闻热点
疑难解答