search sort

来源:互联网 发布:高斯金字塔算法 matlab 编辑:程序博客网 时间:2024/06/06 17:30


sub Seq_Search{
 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;
            }
        }
 }
}

sub Quick_Sort
原创粉丝点击