数组A[]中有 n 个整数,没有次序,数组从下标1开始存储,请写出顺序查找任一元素k的算法
,若查找成功,则返回元素在数组中的位置;若查找不成功,则返回 0。
/*数组A[]中有 n 个整数,没有次序,数组从下标1开始存储,请写出顺序查找任一元素k的算法
,若查找成功,则返回元素在数组中的位置;若查找不成功,则返回 0。*/
#include <iostream>
using namespace std;
typedef int ElemType;
#define Maxsize 100
#define OK 1
#define ERROR 0
typedef struct SqList
{
ElemType data[Maxsize];
int length;
}SqList;
void Init_SqList(SqList& L)
{
L.length = 0;
}
// 1 2 3 4 5
//12,25,7,86,24
//所需查找元素k =10
int find_value(SqList L, int n,int k)
{
for (int i = 1; i <= n; i++)
{
if (L.data[i] == k)
return i;
}
return 0;
}
int main(void)
{
SqList L;
Init_SqList(L);
L.data[1] = 12;
L.data[2] = 56;
L.data[3] = 78;
L.data[4] = 95;
L.data[5] = 106;
L.length = 5;
int n = L.length;
for (int i = 1; i <= L.length; i++)
cout << L.data[i] << endl;
int location = 0;
location = find_value(L, n,78);
if (location == 0)
{
cout << "数据没找到!!!" << endl;
}
else
{
cout << "数据的位置在" << location << endl;
}
return 0;
}