s_search.c

来自「《数据结构》教材源程序,可以让你轻松的根据教材学习数据结构」· C语言 代码 · 共 38 行

C
38
字号
/**********************************************/
/*     顺序检索算法    文件名:s_search.c      */
/*     函数名:  seqsearch1()、seqsearch2()    */
/**********************************************/
#include "seqlist.h"

/*--------顺序查找的非递归实现------*/
int seqsearch1(seqlist l,datatype key)
{
    int k=l.len-1;
    while (k>=0 && l.data[k]!=key )  k--;
    return(k);
}

/*-------------顺序查找的递归实现----------*/
int seqsearch2(seqlist l,int n,datatype key)
  {
    int  k=0;
    if  (n==-1) k=-1;
	else if (l.data[n]==key) k=n;
	     else k=seqsearch2(l,n-1,key);
    return(k);
  }

main()
{ int i,k;
  datatype key;
  seqlist l;
  printf("请输入线性表的长度:");
  scanf("%d",&l.len);
  for (i=0;i<l.len;i++)
     scanf("%d", &l.data[i]);
  printf("请输入待查找的关键字:");
  scanf("%d",&key);
  if ((k=seqsearch2(l,l.len,key))!=-1)  printf("%d在线性表的第%d个位置。",key,k);
    else printf("未找到指定元素");
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?