?? 順序查找.cpp
字號(hào):
//* * * * * * * * * * * * * * * * * * * * * * *
//CHAPTER :6 (6-1) *
//PROGRAM NAME :順序查找 *
//CONTENT :查找 *
//* * * * * * * * * * * * * * * * * * * * * * *
#include <dos.h>
#include <conio.h>
#include <stdio.h>
#define MAX 30 //定義查找表的最大長(zhǎng)度
typedef struct{
char elem[MAX]; //線性查找表
int length; //length指示當(dāng)前線性查找表的長(zhǎng)度
}SSTable;
void initial(SSTable &); //初始化線性查找表
int search(SSTable,char); //在線性查找表中查找元素
void print(SSTable); //顯示線性查找表中所有元素
void main()
{SSTable ST; //ST為一線性查找表
int loc,flag=1;
char j,ch;
textbackground(3); //設(shè)置屏幕顏色
textcolor(15);
clrscr();
//-------------------------程序解說(shuō)-------------------------------------------
printf("本程序演示在靜態(tài)表中順序查找元素。\n");
printf("首先輸入靜態(tài)表的元素個(gè)數(shù)。\n");
printf("例如:5\n");
printf("然后輸入各個(gè)元素(字符):\n例如:asdfg\n");
printf("接下來(lái)就可以查找元素。\n");
//----------------------------------------------------------------------------
initial(ST); //初始化線性查找表
while(flag)
{ printf("請(qǐng)選擇:\n");
printf("1.顯示所有元素\n");
printf("2.查找一個(gè)元素\n");
printf("3.退出\n");
scanf(" %c",&j);
switch(j)
{case '1':print(ST); break; //顯示所有元素
case '2':{printf("請(qǐng)輸入要查找的元素(字符):");
scanf(" %c",&ch); //輸入要查找的元素的關(guān)鍵字
loc=search(ST,ch); //查找
if(loc!=0) printf("該元素所在位置:%d\n",loc); //顯示該元素位置
else printf("%c 不存在!\n",ch);//當(dāng)前元素不存在
break;
}
default:flag=0;
}
}
printf("程序運(yùn)行結(jié)束!按任意鍵退出窗口!\n");
getch();
}
void initial(SSTable &v)
{//初始化線性查找表
int i;
printf("請(qǐng)輸入靜態(tài)表的元素個(gè)數(shù):"); //輸入線性查找表初始化時(shí)的長(zhǎng)度
scanf("%d",&v.length);
printf("請(qǐng)輸入%d個(gè)元素(字符):",v.length);
getchar();
for(i=1;i<=v.length;i++) scanf("%c",&v.elem[i]); //輸入線性查找表的各元素
}
int search(SSTable v,char ch)
{//在線性查找表中查找ch的位置,成功返回其位置,失敗返回0
int i;
v.elem[0]=ch; //設(shè)置“哨兵”
for(i=v.length;v.elem[i]!=ch;--i) ; //從后往前找
return i; //找不到時(shí),i為0
}
void print(SSTable v) //顯示當(dāng)前線性查找表所有元素
{int i;
for(i=1;i<=v.length;i++) printf("%c ",v.elem[i]);
printf("\n");
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -