判断集合中是否有两个数的和等于某个给定整数
3 void quickSort(int s[], int l, int r) {
4 if (l < r) {
5 int i = l, j = r, x = s[l];
6 while (i < j) {
7 while(i < j && s[j] >= x) j--;
8 if(i < j) s[i++] = s[j];
9
10 while(i < j && s[i] < x) i++;
11 if(i < j) s[j--] = s[i];
12 }
13 s[i] = x;
14 quickSort(s, l, i - 1);
15 quickSort(s, i + 1, r);
16 }
17 }
18 int find(int A[], int len, int x){
19 quickSort(A,0,len-1);
20 int i=0,j=len-1;
21 while(i<j) {
22 if( A[i] + A[j] == x )
23 return 1;
24 else if( A[i] + A[j] < x )
25 i++;
26 else
27 j--;
28 }
29 return 0;
30 }