Метод сортировки метод вставок, класс строка символов icon

Метод сортировки метод вставок, класс строка символов




Скачати 22.24 Kb.
НазваМетод сортировки метод вставок, класс строка символов
Дата конвертації29.01.2013
Розмір22.24 Kb.
ТипДокументи

Метод сортировки - метод вставок, класс - строка символов


#include

#include

#include

#include

#include

// Класс - строка символов

class SymStr

{

private:

char *s; // Строка

int length; // Длина строки

public:

// Конструкторы

SymStr()

{

s=new char[1];

*s='\0';

length=0;

}

SymStr(char *str)

{

length = strlen(str);//Возвращает длину строки str(без учета символа завершения строки)

s = new char[length + 1];

strcpy (s, str);//копирует строку str в строку s

}

SymStr(const SymStr &str)

{

length = str.length;

s = new char[length + 1];

strcpy (s, str.s);//копирует строку str.s в строку s

}

// Деструктор

~SymStr() { delete s; }

// Перегрузка оператора >

int operator> (SymStr &);

// Перегрузка оператора >=

int operator>=(SymStr &);

// Перегрузка оператора <

int operator< (SymStr &);

// Перегрузка оператора <=

int operator<=(SymStr &);

// Перегрузка оператора ==

int operator==(SymStr &);

// Перегрузка оператора =

SymStr &operator=(SymStr &Object);

// Перегрузка оператора << для вывода строки

friend ostream &operator<<(ostream &, SymStr &);

};

// Перегрузка оператора >

int SymStr::operator> (SymStr &Object)

{

if(strcmp(s, Object.s) > 0) return 1;

return 0;

}

// Перегрузка оператора >=

int SymStr::operator>=(SymStr &Object)

{

if(strcmp(s, Object.s) >= 0) return 1;

return 0;

}

// Перегрузка оператора <

int SymStr::operator< (SymStr &Object)

{

if(strcmp(s, Object.s) < 0) return 1;

return 0;

}

// Перегрузка оператора <=

int SymStr::operator<=(SymStr &Object)

{

if(strcmp(s, Object.s) <= 0) return 1;

return 0;

}

// Перегрузка оператора ==

int SymStr::operator==(SymStr &Object)

{

if(strcmp(s, Object.s) == 0) return 1;

return 0;

}

// Перегрузка оператора =

SymStr& SymStr::operator=(SymStr &Object)

{

length = strlen(Object.s);

s = new char[length + 1];

strcpy(s, Object.s);

return *this;

}

// Перегрузка оператора << для вывода строки

ostream &operator<<(ostream &fo, SymStr &fp)

{

fo << fp.s;

return fo;

}

// Cортировка вставками

template

void insert (Type *x, int n)

{ int i, j;

Type t;

for (i = 1; i < n; i++)

{

t = x[i];

for (j = i - 1; j >= 0 && t < x[j]; j--)

x[j + 1] = x[j]; // Сдвиг на одну позицию

x[j + 1] = t;

}

}

void main()

{

int i;

int mas1[30]; // Определяем целочисленный массив

double mas2[30]; // Определяем массив чисел с плавающей точкой

srand(time(NULL));// Инициализация генератора случайных чисел

// Заполняем массивы случайными числами

for (i = 0; i < 30; i++)

{ mas1[i] = rand()%30;

mas2[i] = rand()%30 * 0.01;

}

cout << "\t\t\tsortirovka with method insert\n\n";

// Сортировка целых чисел

insert(mas1, 30);

cout << "Result sortirovki int chisla :\n";

for (i = 0; i < 30; i++)

cout << mas1[i] << " ";

// Cортировка чисел с плавающей точкой

insert(mas2, 30);

cout << "\n\nResult sortirovki chisla with double point:\n";

for (i = 0; i < 30; i++)

cout << mas2[i] << " ";

SymStr mas3[5] = {"alik", "alat", "diana", "rachtiam", "lena"};

// Cортировка символьных строк

insert(mas3, 5);

cout << "\n\nResult sortirovki bitovich strok:\n";

for (i = 0; i < 5; i++)

cout << mas3[i] << " ";

getch();

}

Результаты работы программы
Сортировка методом вставок
Результат сортировки целых чисел:
0 0 1 2 3 4 6 7 8 8 8 9 10 11 12 12 13 13 14 15 16 19 20 21 22 26 27 28 28 29

Результат сортировки чисел с плавающей точкой:
0 0.01 0.03 0.03 0.05 0.06 0.06 0.07 0.08 0.09 0.09 0.1 0.12 0.13 0.14 0.14 0.15 0.15 0.16 0.16 0.18 0.19 0.19 0.2 0.2 0.22 0.26 0.27 0.27 0.29



Схожі:

Метод сортировки метод вставок, класс строка символов iconІнформації про стан роботи на контрольованому об’єкті Методи збирання інформації Метод перевірки документації Метод спостереження Метод бесіди Метод аналізу Метод самооаналізу
Контрольно аналітична діяльність знвр з питань профільного навчання та профорієнтації
Метод сортировки метод вставок, класс строка символов iconДокументи
1. /Метод.реком.Ч.2/Змст Ч.2.doc
2. /Метод.реком.Ч.2/Методичн_...

Метод сортировки метод вставок, класс строка символов iconДокументи
1. /МЕТОД РЕКОМЕНД 2012/_нклюз осв_та.doc
2. /МЕТОД...

Метод сортировки метод вставок, класс строка символов iconМетод проектів ( проектні технології )
Цей метод виникає ще в 20 – 30 рр. XX ст як метод застосування теоретичних знань на практиці. В. Сухомлинський проект душі дитини....
Метод сортировки метод вставок, класс строка символов iconДокументи
1. /Метод.реком.__ етап/Chymia II etap.doc
2. /Метод.реком.__...

Метод сортировки метод вставок, класс строка символов iconДокументи
1. /Метод.реком.__ етап ХАНО/Chymia II etap.doc
2. /Метод.реком.__...

Метод сортировки метод вставок, класс строка символов iconМетод важливіший за відкриття, тому що правильний метод дослідження приведе до нових, ще більш цінних відкриттів

Метод сортировки метод вставок, класс строка символов iconРенесанс. Відродження в італії мета
Метод навчання: інтерактивний метод «Мікрофон», пояснювально-ілюстра­тивний, пошуковий
Метод сортировки метод вставок, класс строка символов iconМетод гудіння вулика метод “Експрес-спитування”
Опиши. Порівняй. З’ясуй зв’язки. Проаналізуй. Місце використання. Корисно чи шкідливо
Метод сортировки метод вставок, класс строка символов iconМетод саморегуляції в умовах стресу
Релаксація – це метод, з допомогою якого можна частково або повністю позбутися фізичного чи психічного напруження
Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©te.zavantag.com 2000-2017
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи