Форум программистов, компьютерный форум CyberForum.ru

Сортировка массивов(лаба) - C++

Восстановить пароль Регистрация
 
igorfors
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 29
14.12.2013, 19:51     Сортировка массивов(лаба) #1
На этапе настройки программы показывать на экране исходный массив и результаты итерации. Результаты сортировки разными методами надо вывести в виде таблицы
num buble select insert

Три раза запустить программу. Найти среднее арифметическое число пересылок для каждого размера массива и трех методов сортировки.

Вот мои наработки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
using namespace std;
//Факториал для k-ого члена
int bubleSort(int *mass,int num,int &mov){
     int flag=1;
     for(int i=1;i<=num;i++){
         flag=0;
         for(int j=0;j<num-1;j++){
             if (mass[j+1]<mass[j]){
                 swap (mass[j+1],mass[j]);
                 mov+=3;
                 flag=1;
                 return mov;
             }
         }
         if (flag==0)break;
     }
 }
 
int selectSort(int *mass, int num,int &mov){
    for(int i=0;i<num-1;i++){
        int min=i;
        for(int j=i+1;j<num;j++)
            if (mass[j]<mass[min]) min=j;
        if (min!=i){
            swap(mass[min],mass[i]);
            mov+=3;
            return mov;
        };
    }}
 
 
int insertSort(int *mass, int num,int &mov){
    int i,j,key;
    for(i=1;i<num;i++){
        key=mass[i];
        mov++;
        j=i-1;
        while (mass[j]>key){
            mass[j+1]=mass[j];
            mov++;
            j--;
        }
        if(mass[j+1]!=key){
            mass[j+1]=key;
            mov++;
            return mov;
        }}}
            
            
            void main () {
int num=10,mov,buble,select,insert;
int *mass=new int[num];
for (int i=0;i<num;i++){
    mass[i]=rand()%10;
    cout<<mass[i];}
cout<<'\n';
for (int j=1; j<=11; j++) {
buble=bubleSort(mass, num,mov);
select=selectSort(mass, num,mov);
insert=insertSort(mass, num,mov);
cout << num << "\t" << buble << "\t"<< select << "\t" << insert<<"\t\t" << endl;}
 
 
system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2013, 19:51     Сортировка массивов(лаба)
Посмотрите здесь:

Сортировка массивов. C++
C++ сортировка массивов
Сортировка массивов. C++
Сортировка 2-ух массивов C++
C++ обработка одномерных массивов и сортировка массивов
C++ Обработка одномерных массивов. Сортировка массивов
C++ Обработка одномерных массивов. Сортировка массивов
Сортировка 2-х массивов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 12:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru