查找:顺序查找、折半查找
// 顺序查找
program SeqSearch;
const Num = 9;
var
x, i : integer;
a : array[1 .. Num] of integer;
begin
readln(x);
for i := 1 to Num do
read(a[i]);
for i := 1 to Num do
if a[i] = x then
begin
writeln(i);
break;
end;
if a[i] <> x then
writeln('Don''t find');
readln;
readln;
end.
// 折半查找
program BinSearch;
const Num = 9;
var
x, i, low, high, mid : integer;
a : array[1 .. Num] of integer;
begin
readln(x);
for i := 1 to Num do
read(a[i]);
low := 1;
high := Num;
while (low <= high) do
begin
mid := (low+high) div 2;
if x < a[mid] then
high := mid-1
else if x > a[mid] then
low := mid+1
else
begin
writeln(mid);
break;
end;
end;
if a[mid] <> x then
writeln('Don''t find');
readln;
readln;
end.
program SeqSearch;
const Num = 9;
var
x, i : integer;
a : array[1 .. Num] of integer;
begin
readln(x);
for i := 1 to Num do
read(a[i]);
for i := 1 to Num do
if a[i] = x then
begin
writeln(i);
break;
end;
if a[i] <> x then
writeln('Don''t find');
readln;
readln;
end.
// 折半查找
program BinSearch;
const Num = 9;
var
x, i, low, high, mid : integer;
a : array[1 .. Num] of integer;
begin
readln(x);
for i := 1 to Num do
read(a[i]);
low := 1;
high := Num;
while (low <= high) do
begin
mid := (low+high) div 2;
if x < a[mid] then
high := mid-1
else if x > a[mid] then
low := mid+1
else
begin
writeln(mid);
break;
end;
end;
if a[mid] <> x then
writeln('Don''t find');
readln;
readln;
end.


浙公网安备 33010602011771号