Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- void print(int arr[],int length){
- for (int i =0;i<length;i++)
- cout <<arr[i] <<" ";
- cout << endl;
- }
- void swap(int *a, int *b){
- int temp = *a;
- *a = *b;
- *b = temp;
- }
- int partition(int arr[], int start, int end){
- int pIndex = start;
- for(int i = start;i<end;i++){
- if(arr[i]<arr[end]){
- swap(&arr[i],&arr[pIndex]);
- pIndex++;
- }
- }
- swap(&arr[pIndex], &arr[end]);
- return pIndex;
- }
- void quicksort(int arr[],int start, int end){
- if (start>=end) return;
- int pIndex = partition(arr,start,end);
- quicksort(arr,start,pIndex-1);
- quicksort(arr,pIndex+1,end);
- }
- void findPair(int arr[], int length, int key){
- quicksort(arr,0,length-1);
- //print(arr,length);
- int i =0,j=1;
- while(i<length && j<length){
- if(abs(arr[i] - arr[j]) == key){
- cout<< arr[i] <<" "<<arr[j] << endl;
- i++;j++;
- }
- else if (abs(arr[i] - arr[j]) < key) j++;
- else i++;
- }
- }
- int main(){
- int arr[] = {4,2,5,8,21,34,10}, key =24, length = sizeof(arr)/sizeof(arr[0]);
- findPair(arr,length,key);
- return 0;
- }
Add Comment
Please, Sign In to add comment