Найти n самых больших элементов из массива
У меня есть массив
A[4]={4,5,9,1}
Мне нужно было бы дать первые 3 верхних элемента, как 9,5,4
Я знаю, как найти элемент max, но как найти 2-й и 3-й максимум?
т.е. если
max=A[0]
for(i=1;i<4;i++)
{
if (A[i]>max)
{
max=A[i];
location=i+1;
}
}
на самом деле сортировка не подходит для моего приложения, потому что,
номер позиции также важен для меня, то есть я должен знать, в каких позициях происходят первые 3 максимума, здесь он находится в 0-й, 1-й и 2-й позиции ... поэтому я думаю о логике
что после получения максимального значения, если бы я мог поставить 0 в этом месте и мог бы применить те же шаги для этого нового массива, т.е. {4,5,0,1}
Но я немного запутался, как поместить свою логику в код