📄 utility.cpp
字号:
#include "stdafx.h"
#include <stdio.h>
static int seed =0; //private data
double power(double f,int n)
{
int i;
double p;
p =1.0;
for (i =1;i<=n;i++)
p =p*f;
return p;
}
int binSearch(int x,int *v,int n)
{
int low,high,mid;
low =0;
high =n-1;
while(low <=high){
mid =(low+high)/2;
if(x<v[mid])
high =mid-1;
else if(x>v[mid])
low =mid+1;
else
return mid;
}
return -1;
}
void swap (int *v,int i,int j)
{
int temp;
temp =v[i];
v[i]=v[j];
v[j]=temp;
}
/* QuickSort related function */
int Partition(int *v,int low,int high)
{
int pivotkey;
pivotkey=v[low];
while(low<high){
while(low<high && v[high]>=pivotkey) --high;
v[low]=v[high];
while(low<high && v[low]<=pivotkey) ++low;
v[high]=v[low];
}
v[low] = pivotkey;
return low;
}
void quicksort(int *v,int low,int high)
{
int pivotloc;
if(low<high){
pivotloc=Partition(v,low,high);
quicksort(v,low,pivotloc-1);
quicksort(v,pivotloc+1,high);
}
}
/* End QuickSort related function*/
/* QuickSort2 related function */
int Partition2(int *v,int low,int high,double *d)
{
int pivotkey;
pivotkey=v[low];
while(low<high){
while(low<high && d[v[high]]>=d[pivotkey]) --high;
v[low]=v[high];
while(low<high && d[v[low]]<=d[pivotkey]) ++low;
v[high]=v[low];
}
v[low] = pivotkey;
return low;
}
void qsort2(int *v,int low,int high,double * d)
{
int pivotloc;
if(low<high){
pivotloc=Partition2(v,low,high,d);
qsort2(v,low,pivotloc-1,d);
qsort2(v,pivotloc+1,high,d);
}
}
/* End QuickSort related function*/
int myrandom(int n)
{
unsigned long int next;
next =seed*1103515245 +12345;
seed++;
next =(unsigned int)(next/65536)%(n);
return next;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -