1、数 据结构-顺序表查找#include#include#define MAXSIZE 100int dataMAXSIZE; int len;typedef struct int dataMAXSIZE; int len; SeqList;SeqList *Init_SeqList( ) SeqList *L;L=(SeqList*)malloc(sizeof(SeqList);L-len= -1; return L;/顺序查找int SearchSeq(SeqList *S,int t)int i;for(i=0;ilen;i+)if(t=S-datai)return i;break;if(
2、i=S-len)return -1;/对顺序表进行排序SeqList *Sort(SeqList *S) int temp,i,j;for (i=0;ilen;i+) for (j=i+1;jlen;j+) if(S-datajS-dataj+1) temp=S-dataj;S-dataj=S-dataj+1;S-dataj+1=temp;for(int k=0;klen;k+)printf(“%d “,S-datak);return S;/折半查找int SearchBin(SeqList *S ,int t)int mid,low=0,high=S-len-1;while(lowdatam
3、id)return mid;else if(tS-datamid) low=mid+1;else high=mid-1;return -1; int main()SeqList *L=Init_SeqList();int t1,t2,len,e;printf(“请输入顺序表的长度“);scanf(“%d“,printf(“请输入顺序表中各元素:n“);getchar();for(int k=0;klen;k+)scanf(“%d“,L-datak=e;printf(“请输入要查找的数 :n“);scanf(“%d“,int m=SearchSeq(L,t1);if(m-1)printf(“该查找的数顺序查找后在顺序表中的位置为%d:n“,m+1);else printf(“该数没有找到n“);printf(“排序之后的顺序表 “);SeqList*S=Sort(L);printf(“请输入要查找的数:n“);scanf(“%d“,int s=SearchBin(S ,t2);if(s-1)printf(“该查找的数折半查找后在顺序表中的位置为%d:n“,s+1);else printf(“该数没有找到n“);return 0;