实现顺序查找的算法
2013-01-28 20:15
267 查看
/*exp10-1.cpp*/
#include <stdio.h>
#define MAXL 100/*定义表中最多记录个数*/
typedef int KeyType;
typedef char InfoType[10];
typedef struct
{
KeyType key;/*KeyType为关键字的数据类型*/
InfoType data;/*其他数据*/
}NodeType;
typedef NodeType SeqList[MAXL];/*顺序表类型*/
int SeqSearch(SeqList R,int n,KeyType k)/*顺序查找算法*/
{
int i=0;
while(i<n && R[i].key!=k)/*从表头往后找*/
{
printf("%d ",R[i].key);/*输出查找过的元素*/
i++;
}
if(i>=n)
return -1;/*从未找到时返回-1*/
else
{
printf("%d ",R[i].key);
return i;/*找到时返回其位置*/
}
}
void main()
{
SeqList R;
int n=10;
KeyType k=5;
int a[]={3,6,2,10,1,8,5,7,4,9},i;
for(i=0;i<n;i++)/*建立顺序表*/
R[i].key=a[i];
printf("\n");
if(SeqSearch(R,n,k)!=-1)
printf("\n元素%d的位置是%d\n",k,SeqSearch(R,n,k));
else
printf("\n元素%d不在表中\n",k);
printf("\n");
}
#include <stdio.h>
#define MAXL 100/*定义表中最多记录个数*/
typedef int KeyType;
typedef char InfoType[10];
typedef struct
{
KeyType key;/*KeyType为关键字的数据类型*/
InfoType data;/*其他数据*/
}NodeType;
typedef NodeType SeqList[MAXL];/*顺序表类型*/
int SeqSearch(SeqList R,int n,KeyType k)/*顺序查找算法*/
{
int i=0;
while(i<n && R[i].key!=k)/*从表头往后找*/
{
printf("%d ",R[i].key);/*输出查找过的元素*/
i++;
}
if(i>=n)
return -1;/*从未找到时返回-1*/
else
{
printf("%d ",R[i].key);
return i;/*找到时返回其位置*/
}
}
void main()
{
SeqList R;
int n=10;
KeyType k=5;
int a[]={3,6,2,10,1,8,5,7,4,9},i;
for(i=0;i<n;i++)/*建立顺序表*/
R[i].key=a[i];
printf("\n");
if(SeqSearch(R,n,k)!=-1)
printf("\n元素%d的位置是%d\n",k,SeqSearch(R,n,k));
else
printf("\n元素%d不在表中\n",k);
printf("\n");
}
相关文章推荐
- 基于JavaScript实现的顺序查找算法示例
- 数据结构 c语言 顺序查找算法(linux下实现)
- 【数据结构与算法】【查找】顺序查找(线性查找)的代码实现
- 查找(顺序、二分、斐波那契和插值)算法的实现和测试
- 数据结构学习之路(五)顺序查找和折半算法的原理及实现
- 顺序查找与二分查找的算法实现
- 实现顺序查找的算法
- 顺序表创建以及查找排序算法(含有顺序查找算法、带哨兵站顺序查找、折半查找算法、冒泡排序)的C++实现在vs2013环境下实现
- 顺序查找算法实现(C++)
- 【数据结构作业一】写出顺序表的结构体类型定义及查找、插入、删除算法,并以顺序表作存储结构,实现线性表的插入、删除
- 实现顺序查找的算法
- 算法-符号表的实现(顺序查找和二分查找)
- 使用c++标准库实现二分法查找基本算法
- 静态查找的方法:顺序查找、对半查找、分块查找,C++代码实现
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 【数据结构与算法】【查找】折半查找(二分查找)的代码实现
- 顺序查找及PHP实现
- PHP实现常见算法之二分查找法
- 算法-对分查找(二分查找)C++实现
- Java数据结构 遍历 排序 查找 算法实现