push() pop() size() a[n][n]; visited[n]; sidt[n] s; //начало пути n; //кол-во вершин в графе dist[s] = 0; visited[s] = true; push(s); while(size()){ int x = pop(); for (int i = 0; i < n, i++) if (a[x][i] && !visited[i]){ push(i); visited[i]=true; dist[i]=dist[x]+1; } }
Рубрика: Сортировки
Сортировка Пузырьком
#include <iostream> using namespace std; int main(){ int n; int a[100] = {}; cin >> n; for (int i = 0; i < n; ++i) cin >> a[i]; //Пузырек for (int i = 1; i < n; ++i){ for (int j = 1; j < n; ++j){ if (a[j-1] > a[j]){ swap (a[j-1], a[j]); } … Читать далее Сортировка Пузырьком
Выборочная сортировка
#include <iostream> using namespace std; int main(){ int n; int mas[100]= {}; cin >> n; for (int i = 0; i < n; ++i){ cin >> mas[i]; } // выборочная сортировка for (int i = 0; i < n-1; ++i){ int min = 1; for(int j = i+1; j < n; ++j) min = j; … Читать далее Выборочная сортировка
Сортировка вставкой
//сортировка вставкой for (int i = 1; i < n; ++i){ int j = i; while (j && mas[j-1] > mas[j]){ swap(mas[j - 1], mas[j]); } } //
Сортировка подсчетом
Сортировка подсчетом // for (int i = 0; i < n; ++i) { C[A[i]]++; } int i = 0; for(int j = a; j <= b; ++j) { // a - минимальное; b - максимальное for (int k = 0; k < C[j]; ++k) { A[i] = j; ++i; } // // Второй вариант … Читать далее Сортировка подсчетом
Быстрая сортировка / quick sort
Быстрая сортировка void qsort(int *A, int L, int R){ // A-массив // отрезок от L до R if ( R - L <= 1) return; //состоит не из одного или 0 нуля элементов int mid = A[L + rand() % (R - L)]; // int x = L, y = L; for(int i = … Читать далее Быстрая сортировка / quick sort