#include <stdio.h>
void findPair(int A[], int n, int sum)
{
int beg = 0;
int end = n - 1;
while (beg < end)
{
if (A[beg] + A[end] == sum)
{
printf("%2d + %2d = %2d\n", A[beg], A[end], sum);
++beg;
--end;
}
else if (A[beg] + A[end] < sum)
++beg;
else
--end;
}
}
int main()
{
int A[] = {0, 1, 3, 4, 6, 7, 9, 10, 13, 15, 18, 21};
int sum = 16;
findPair(A, sizeof(A) / sizeof(int), sum);
return 0;
}
两个指针:一个指向小端,另一个指向大端