Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

배열에서 K번째로 큰 요소


데이터 세트에서 이 알고리즘은 배열의 가장 큰 요소부터 k번째로 큰 요소까지 찾습니다.

이 문제는 배열을 정렬하면 쉽게 해결할 수 있습니다. 오름차순 또는 내림차순으로 정렬할 수 있습니다. 내림차순으로 풀면 결과를 찾기 위해 처음 k개의 요소를 얻을 수 있습니다.

입력 및 출력

입력:배열의 요소:{1, 23, 12, 9, 30, 2, 50, 63, 87, 12, 45, 21}, K =4출력:4개의 가장 큰 요소는 87 63 50 45 

알고리즘

kthLargestElement(배열, n, k)

입력: 배열, 배열의 요소 수는 k를 배치합니다.

출력: 배열의 가장 큰 요소부터 k번째로 큰 요소까지 표시합니다.

i :=0에서 k-1까지 내림차순으로 배열 정렬 시작, display array[i] doneEnd

예시

#include#includenamespace std;bool compare(int a, int b) { return a>b;}void kthLargestElement(int array[], int n, int k) { sort( 배열, 배열+n, 비교); for (int i =0; i  

출력

87 63 50 45