Добавил:
Hist
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программы c++ (сортировка, хэширование) / 1 / Sraight_Insertion
.cpp//Сортировка прямым включением
#include <iostream>
#include <stdio.h>
#include <math.h>
#define n 21
using namespace std;
int ass, compr;
char mass[n];
void input(void)
{
int i;
for (i=1; i<n; i++)
{
mass[i]=110+12*sin(i); //Random
//mass[i]=n-i; //убывание
//mass[i]=i; //возрастание
}
}
void output(void)
{
int i;
for (i=1; i<n; i++) //Массив начинается в 1. Нулевой зарезервирован.
{
cout << mass[i] << " ";
}
cout << "\n";
}
void St_In()
{
int i,j,x;
for (i=2; i<n; i++)
{
x=mass[i];
ass++;
mass[0]=x;
ass++;
j=i;
compr++;
while (x<mass[j-1])
{
mass[j]=mass[j-1];
j--;
compr++;
ass++;
}
mass[j]=x;
ass++;
}
}
int main(void)
{
input();
output();
St_In();
output();
cout << "--------" << "\n";
cout << "compr=" << compr << "\n";
cout << "ass=" << ass << "\n";
cin >> ass;
}
Соседние файлы в папке 1