第三章:查詢與排序(下)----------- 3.23 相關題解:排序陣列中找和的因子

Curtis_發表於2019-03-11

排序陣列中找和的因子:

 

關鍵點:

有序,可用雙指標法掃描。

程式碼: 

#include<iostream>
using namespace std;

void printSumK(int arr[],int len,int k){
	int begin=0;
	int end=len-1;
	while(begin<end){
		while((arr[begin]+arr[end])<k){
			begin++;
		}
		while((arr[begin]+arr[end])>k){
			end--;
		}
		if(begin!=end){
			cout<<arr[begin]<<" "<<arr[end]<<endl;
			begin++;
			end--;
		}
		
	}	
}
int main(){
	int arr[]={-8,-4,-3,0,2,4,5,8,9,10};
	int len=10;
	int k=10;
	printSumK(arr,len,k);
	
	return 0;
}

結果:

相關文章