//监督元方式查找
/*
监督元说明:假设要从右向左查找,在a[0]设置查找值(也就是监督元)
while(a[i] != x),因为在a[0]有个查找值,如果没有找到,则会返回0,如果找到了就会返回找到的值的位置,此方法比传统顺序查找少了一个循环判断,提高了程序效率
此方法并非博主原创,原创的是理解
*/
/*
x为查找的值, n为数组长度
*/
int SQsearch(int a[], int x, int n)
{
int i = n;
a[0] = x;
while(a[i] != x)
{
i--;
}
return i;
}