关键词不能为空

当前您在: 主页 > 英语 >

顺序查找

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2020-10-21 15:06
tags:按顺序

黑边鳍真鲨-绘空事

2020年10月21日发(作者:金兆梓)


顺序查找
#include
#define MAXL 10
typedef int KeyType;
typedef struct
{
KeyType key;
}NodeType;
typedef NodeType SeqList[MAXL];
int SeqSearch(SeqList R,int n,KeyType k)
{













}
int i=0;
while(i{


printf(
i++;
}
if(i>=n)
return -1;
else
{
printf(
return i;
}
void main(){
SeqList R;
int n=10;
KeyType k;
int a[10],i;
printf(输入数字:n
for(i=0;i scanf(
for(i=0;i





R[i].key=a[i];
printf(
printf(输入k:
s canf(
if((i=SeqSearch(R,n,k))!=-1)
printf(元素%d的位置是%dn
else
printf(不存在n

顺序查找方法二:


#include * INT_MAX等 *
#include * EOF(=^Z或F6),NULL *
#define OK 1
#define ERROR 0
#define N 5 * 数据元素个数 *
typedef int Status; * Status是函数的类型,其值是函数结果状态代码,如OK等 *
typedef int Boolean; * Boolean是布尔类型,其值是TRUE或FALSE *
typedef int KeyType; * 设关键字域为整型 *
typedef struct * 数据元素类型(以教科书图9.1高考成绩为例) *
{
long number; * 准考证号 *
char name[9]; * 姓名(4个汉字加1个串结束标志) *
int politics; * 政治 *
int Chinese; * 语文 *
int English; * 英语 *
int math; * 数学 *
int physics; * 物理 *
int chemistry; * 化学 *
int biology; * 生物 *
KeyType key; * 关键字类型应为KeyType,域名应为key,与bo9-1.c中一致 *
} ElemType;
ElemType r[N]={{179324,何芳芳
{179325,陈红
{179326,陆华
{179327,张平
{179328,赵小怡全局变量 *
#define total key * 定义总分(total)为关键字 *
#define EQ(a,b) ((a)==(b))
#define LT(a,b) ((a)<(b))
#define LQ(a,b) ((a)<=(b))
typedef struct
{
ElemType *elem; * 数据元素存储空间基址,建表时按实际长度分配,0号单元留空 *
int length; * 表长度 *
}SSTable;
Status Creat_Seq(SSTable *ST,int n)
{ * 操作结果: 构造一个含n个数据元素的静态顺序查找表ST(数据来自全局数组r) *
int i;
(*ST).elem=(ElemType *)calloc(n+1,sizeof(ElemType)); * 动态生成n个数据元素空间(0号
单元不用) *
if(!(*ST).elem)
return ERROR;
for(i=1;i<=n;i++)
*((*ST).elem+i)=r[i-1]; * 将全局数组r的值依次赋给ST *


(*ST).length=n;
return OK;
}

void Ascend(SSTable *ST)
{ * 重建静态查找表为按关键字非降序排序 *
int i,j,k;
for(i=1;i<(*ST).length;i++)
{
k=i;
(*ST).elem[0]=(*ST).elem[i]; * 待比较值存[0]单元 *
for(j=i+1;j<=(*ST).length;j++)
if LT((*ST).elem[j].key,(*ST).elem[0].key)
{
k=j;
(*ST).elem[0]=(*ST).elem[j];
}
if(k!=i) * 有更小的值则交换 *
{
(*ST).elem[k]=(*ST).elem[i];
(*ST).elem[i]=(*ST).elem[0];
}
}
}
Status Creat_Ord(SSTable *ST,int n)
{ * 操作结果: 构造一个含n个数据元素的静态按关键字非降序查找表ST *
* 数据来自全局数组r *
Status f;
f=Creat_Seq(ST,n);
if(f)
Ascend(ST);
return f;
}
Status Destroy(SSTable *ST)
{ * 初始条件: 静态查找表ST存在。操作结果: 销毁表ST *
free((*ST).elem);
(*ST).elem=NULL;
(*ST).length=0;
return OK;
}
int Search_Seq(SSTable ST,KeyType key)
{ * 在顺序表ST中顺序查找其关键字等于key的数据元素。若找到,则函数值为 *
* 该元素在表中的位置,否则为0。*
int i;


[0].key=key; * 哨兵 *
for(i=;!EQ([i].key,key);--i); * 从后往前找 *
return i; * 找不到时,i为0 *
}
int Search_Bin(SSTable ST,KeyType key)
{ * 在有序表ST中折半查找其关键字等于key的数据元素。若找到,则函数值为 *
* 该元素在表中的位置,否则为0。*
int low,high,mid;
low=1; * 置区间初值 *
high=;
while(low<=high)
{
mid=(low+high)2;
if EQ(key,[mid].key) * 找到待查元素 *
return mid;
else if LT(key,[mid].key)
high=mid-1; * 继续在前半区间进行查找 *
else
low=mid+1; * 继续在后半区间进行查找 *
}
return 0; * 顺序表中不存在待查元素 *
}
Status Traverse(SSTable ST,void(*Visit)(ElemType))
{ * 初始条件: 静态查找表ST存在,Visit()是对元素操作的应用函数 *
* 操作结果: 按顺序对ST的每个元素调用函数Visit()一次且仅一次。 *
* 一旦Visit()失败,则操作失败 *
ElemType *p;
int i;
p=++; * p指向第一个元素 *
for(i=1;i<=;i++)
Visit(*p++);
return OK;
}
void print(ElemType c) * Traverse()调用的函数 *
{ printf(
h,,s,try,y,);
}
void main()
{
SSTable st;
int i,s;
for(i=0;i
r[i].total=r [i].politics+r[i].Chinese+r[i].English+r[i].math+r [i].physics+r[i].chemistry+r[i].biology;


Creat_Seq(&st,N); * 由全局数组产生静态查找表st *
printf(准考证号 姓名 政治 语文 外语 数学 物理 化学 生物 总分n
Traverse(st,print); * 按顺序输出静态查找表st *
printf(请输入待查找人的总分:
scanf(
i=Search_Seq(st,s); * 顺序查找 *
if(i)
print(*(+i));
else
printf(没找到n
Destroy(&st);
}

进入的英语-comparable


春节英语手抄报-绿色英文


伙计是什么意思-wearable


处境的拼音-什么什么什么意


heat-行的意思


广阔无垠-某一天英文


电灯泡英文-早上好的英语怎么写


kick-骤然



本文更新与2020-10-21 15:06,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/416276.html

顺序查找的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文