1.算法实现1
r[0] | r[1] | r[2] | r[3] | r[4] | r[5] | r[6] | r[7] | r[8] | r[9] |
10 | 15 | 24 | 6 | 12 | 35 | 40 | 98 | 55 |
int SeqSearchl (int r[], int n, int k)
{
int i = n;
while (i > 0 && r[i] != k)
i--;
return i;
}
2.算法实现2
r[0] | r[1] | r[2] | r[3] | r[4] | r[5] | r[6] | r[7] | r[8] | r[9] |
k(哨兵) | 10 | 15 | 24 | 6 | 12 | 35 | 40 | 98 | 55 |
int SeqSearchl(int r[], int n, int k)
{
int i = n;
r[0] = k;
while (r[i] != k)
i--;
return i;
}
总结:两者时间复杂度相等,但是判断次数第二个更少,更好。