转:数据结构——顺序查找
2013-09-29 10:28
302 查看
顺序查找是最简单,最不常用的方法。
其基本思想是:从表的一端开始,依次将每个元素的关键字进行比较, 时间度比较复杂。
#include <stdio.h>
#define LISZTSIZE 150
typedef int Datatype;
struct List
{
Datatype data [LISZTSIZE];
int nLength;
};
void init(struct List *l);
void Length(struct List *l);
void Get(struct List *g,Datatype x);
int main(int argc, const char * argv[])
{
//4.1顺序查找
/*一表长为100的顺序线性存储表,要求使用顺序查找分别查找第9,49, 99个元素输出。
*/
struct List arr;
init(&arr);
Length(&arr);
int x;
printf("请输入要查找的元素:");
scanf("%d",&x);
Get(&arr, x);
getchar();
printf("请再输入要查找的元素:");
scanf("%d",&x);
Get(&arr, x);
getchar();
printf("请再输入要查找的元素:");
scanf("%d",&x);
Get(&arr, x);
return 0;
}
void init(struct List *l)//初始化表长
{
l->nLength=0;
}
void Length(struct List *l)//求表长
{
int number;
printf("请输入表长<150:\n");
scanf("%d",&number);
l->nLength=number;
int num=1;
for (int i=0; i<number; i++)
{
l->data[i]=num;
num++;
}
for (int i=0; i<number; i++)
{
printf("%d\t",l->data[i]);
}
printf("\n");
}
void Get(struct List *g,Datatype x)//顺序查找。
{
if (g->nLength==0)
{
printf("表长为空");
}
for (int i=0; i<g->nLength; i++)
{
if (g->data[i]==x)
{
printf("x=%d在线性表的位置:%d\n",x,i);
}
}
}
其基本思想是:从表的一端开始,依次将每个元素的关键字进行比较, 时间度比较复杂。
#include <stdio.h>
#define LISZTSIZE 150
typedef int Datatype;
struct List
{
Datatype data [LISZTSIZE];
int nLength;
};
void init(struct List *l);
void Length(struct List *l);
void Get(struct List *g,Datatype x);
int main(int argc, const char * argv[])
{
//4.1顺序查找
/*一表长为100的顺序线性存储表,要求使用顺序查找分别查找第9,49, 99个元素输出。
*/
struct List arr;
init(&arr);
Length(&arr);
int x;
printf("请输入要查找的元素:");
scanf("%d",&x);
Get(&arr, x);
getchar();
printf("请再输入要查找的元素:");
scanf("%d",&x);
Get(&arr, x);
getchar();
printf("请再输入要查找的元素:");
scanf("%d",&x);
Get(&arr, x);
return 0;
}
void init(struct List *l)//初始化表长
{
l->nLength=0;
}
void Length(struct List *l)//求表长
{
int number;
printf("请输入表长<150:\n");
scanf("%d",&number);
l->nLength=number;
int num=1;
for (int i=0; i<number; i++)
{
l->data[i]=num;
num++;
}
for (int i=0; i<number; i++)
{
printf("%d\t",l->data[i]);
}
printf("\n");
}
void Get(struct List *g,Datatype x)//顺序查找。
{
if (g->nLength==0)
{
printf("表长为空");
}
for (int i=0; i<g->nLength; i++)
{
if (g->data[i]==x)
{
printf("x=%d在线性表的位置:%d\n",x,i);
}
}
}
相关文章推荐
- 数据结构实验之查找六:顺序查找
- 数据结构上机实验之顺序查找
- 数据结构基础(2) --顺序查找 & 二分查找
- 算法与数据结构之顺序查找(C语言)
- <sdut-ACM>数据结构实验之查找六:顺序查找
- 数据结构实验之查找六:顺序查找
- SDUT OJ 3378 数据结构实验之查找六:顺序查找
- {数据结构}顺序查找
- 数据结构实验之查找六:顺序查找
- 【数据结构作业六a】建立一个顺序表,用顺序查找、折半查找的方法对其实施查找
- 数据结构上机实验之顺序查找
- 数据结构基础(2) --顺序查找 & 二分查找
- 数据结构实验之查找六:顺序查找
- 数据结构基础(2) --顺序查找 & 二分查找
- 数据结构实验之查找六:顺序查找(sdut_3378)
- 数据结构实验之查找六:顺序查找
- 【数据结构作业一】写出顺序表的结构体类型定义及查找、插入、删除算法,并以顺序表作存储结构,实现线性表的插入、删除
- 数据结构实验之查找六:顺序查找
- 数据结构上机实验之顺序查找(sdut_2040)
- C语言 数据结构查找 顺序查找及折半查找