sub Seq_Search{
my($array,$elem)=@_;
$n=@{$array};
${$array}[$n]=$elem;#监视哨
for($i=0;${$array}[$i]!=$elem;$i++);
return($i<$n);
}#ASL=n+1
my($array,$elem)=@_;
$n=@{$array};
${$array}[$n]=$elem;#监视哨
for($i=0;${$array}[$i]!=$elem;$i++);
return($i<$n);
}#ASL=n+1
sub Binary_Search{
my($array,$elem)=@_;
$high=@{$array};
$low=0;
while($low<$high){
$mid=($low+$high)/2;
if(${$array}[$mid]==$elem){
return 1
}
elsif(${$array}[$mid]<$elem){
$low=$mid+1;
}
else{
$high=$mid;
}
}
return 0;
}
sub Insert_Sort{
my($array)=@_;
for ($i=1;$i<@{$array};$i++)
{
$temp = ${$array}[$i];
$j=$i-1;
while ($j>-1 and $temp<${$array}[$j])
{
${$array}[$j+1]=${$array}[$j];
$j--;
}
${$array}[$j+1]=$temp;
}
}
sub Bubble_Sort{#递增
my($array)=@_;
for ($j=0;$j<@{$array}-1;$j++){
for ($i=0;$i<@{$array}-1-$j;$i++)
{
if(${$array}[$i] > ${$array}[$i+1])
{
$temp=${$array}[$i];
${$array}[$i]=${$array}[$i+1];
${$array}[$i+1]=$temp;
}
}
}
}
my($array,$elem)=@_;
$high=@{$array};
$low=0;
while($low<$high){
$mid=($low+$high)/2;
if(${$array}[$mid]==$elem){
return 1
}
elsif(${$array}[$mid]<$elem){
$low=$mid+1;
}
else{
$high=$mid;
}
}
return 0;
}
sub Insert_Sort{
my($array)=@_;
for ($i=1;$i<@{$array};$i++)
{
$temp = ${$array}[$i];
$j=$i-1;
while ($j>-1 and $temp<${$array}[$j])
{
${$array}[$j+1]=${$array}[$j];
$j--;
}
${$array}[$j+1]=$temp;
}
}
sub Bubble_Sort{#递增
my($array)=@_;
for ($j=0;$j<@{$array}-1;$j++){
for ($i=0;$i<@{$array}-1-$j;$i++)
{
if(${$array}[$i] > ${$array}[$i+1])
{
$temp=${$array}[$i];
${$array}[$i]=${$array}[$i+1];
${$array}[$i+1]=$temp;
}
}
}
}
sub Quick_Sort