DL Руководство пользователя
Добавлено Вадим Копиченко, последний раз изменено Вадим Копиченко Aug 09, 2016  (просмотр изменений)
Метки: 
(нет)

N-ый элемент

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int v[9]={5, 6, 4, 3, 2, 6, 7, 9, 3};

    nth_element(v, v+4, v+9);
    cout << "The median is " << v[4] << '\n';

    nth_element(v, v+1, v+9, greater<int>());
    cout << "The second largest element is " << v[1];
}

Вывод

The median is 5
The second largest element is 7

Пояснения

  • первый параметр - адрес начала сортировки по возрастанию
  • второй параметр - адрес того элемента который является целью (5-ый, 2-ой в примерах)
  • третий параметр - адрес конца сортировки

Если нужна сортировка по убыванию

  • четвёртый параметр - greater<int>()

Очередь

Конь

struct move                                //  Объявление структуры Move - элемента очереди
{
    int x;
    int y;
    int StepNumber;
};

queue <move> MQue;                          // Объявление очереди из структур Move

move Cur;                                   // Объявление переменной Cur типа Move

Cur.StepNumber=CurrMove.StepNumber;         // Занесение значений в элементы структуры
Cur.x=CurrMove.x+steps[i][1];
Cur.y=CurrMove.y+steps[i][2];
   

MQue.push(Cur);                             // Занесение переменной Cur в очередь  

CurrMove=MQue.front();                      // Скопировать элемент из начала очереди
MQue.pop();                                 // Удалить элемент из начала очереди
cout << MQue.back().StepNumber;             // Вывести переменную StepNumber последнего элемента в очереди 

int steps[8][2] = {{1,-2},{1,2},{-1,-2},{-1,2},  // инициализация массива констант
                   {2,-1},{2,1},{-2,-1},{-2,1}};

Куски

MQue.empty()                                // Очередь пуста? (возвращает true/false)
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами