Форум программистов, компьютерный форум, киберфорум
Наши страницы

скорость сортировки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Высота n-нарного дерева http://www.cyberforum.ru/cpp-beginners/thread269023.html
Подскажите алгоритм нахождения высоты n-нарного дерева, я написала, но высота находится не всегда точно. Не знаю как избежать этого. struct tree { int k; //элемент дерева int kol_child;...
C++ Упорядочить последовательность методом простого выбора по фамилиям жителей. Разработать объект-вектор. В файле хранятся сведения о жителях некоторой улицы: фамилия, адрес, год рождения. Все сведения записываются в памяти в виде последовательности. Вводится некоторая... http://www.cyberforum.ru/cpp-beginners/thread269022.html
Строка в С++ C++
Дана строка в с++. Как вывести все слова , которые содержат заданную букву?
C++ Числа
Дано натуральное число. Верно ли, что нет в нем цифр a.
C++ Указатели http://www.cyberforum.ru/cpp-beginners/thread268989.html
Здравствуйте. Прошу ответить на мои вопросы: 1)Как понять, когда именно нужно использовать указатели? Т.е. когда без них невозможно. 2)Это вопрос уже к про). Даже не знаю, как его сформулировать....
C++ Передать двумерный массив в функцию подскажи те как передать двумерный массив в функцию?) подробнее

Показать сообщение отдельно
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1

скорость сортировки - C++

02.04.2011, 22:26. Просмотров 479. Ответов 5
Метки (Все метки)

вот написал к примеру програмку. работает так

Меню с пунктами:
1.для заполнения матрицы
2.для сортировки
3.для принта
4.для выхода.

после каждого пункта(кроме 4ого) выводит complite. Когда ввожу размера матрицы 1000 и сортирую после заполнения,то это время занимает около минуты. Можно ли как то посчитать сколько именно минут?Точнее чтобы выводились секунды.и после этого complite.
Вот на всякий код
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
void inp(int** x,int n);
void collumn(int** x,int n);
void row(int** x,int n);
void out(int** x,int n);
 
void main()
{
   int n;
   cout<<"n=";
   cin>>n;
    char select;   
        int** x=new int*[n];
        for(int i=0;i<n;i++)
                x[i]=new int[n];
                cout<<"Enter i for input"
                        <<endl<<"Enter c for collumn sort"
                        <<endl<<"Enter r for row sort"
                        <<endl<<"Enter o for out"
                        <<endl<<"Enter e for exit"
                        <<endl;
        for(;;)
        {
            cin>>select;
                switch(select)
                {
            case 'i':
            case'I':
                     inp(x,n);
                     cout<<"complite"<<endl;
                        break;
                case 'c':
            case'C':
                     collumn(x,n);
                     cout<<"complite"<<endl;
                        break;
                case 'r':
            case 'R':
                     row(x,n);
                     cout<<"complite"<<endl;
                        break;
                case 'o':
            case 'O':
                     out(x,n);
                     cout<<"complite"<<endl;
 
                  break;
          
                case 'e':
            case 'E':
                     return;
 
                        default: cout<<"Wrong command!"<<endl;
 
                }
 
        }
        for(int i=0;i<n;i++)
                delete[] x[i];
 
        delete[] x;
 
}
 
 
void inp(int** x,int n)
{
        srand(time(0));
        for(int i=0;i<n;i++)
                for(int j=0;j<n;j++)
                        *(*(x+i)+j)=rand()%10;
}
 
void out(int** x,int n)
{
        for(int i=0;i<n;i++)
                {
                        for(int j=0;j<n;j++)
                                cout<<*(*(x+i)+j)<<" ";
                        cout<<endl;
        }
        cout<<endl;
}
 
void collumn(int** x,int n)
{
        int buff;
        bool t;
        
          for(int j=0;j<n;j++)
         {
            t=0;
            while(t==0)
               {
               t=1;
                    for(int i=0;i<n-1;i++)
                      if(*(*(x+i)+j)>*(*(x+i+1)+j))
                        {
                            buff=*(*(x+i)+j);
                            *(*(x+i)+j)=*(*(x+i+1)+j);
                            *(*(x+i+1)+j)=buff;
                            t=0;
                        }
               }
        }      
}
 
 
void row(int** x,int n)
{
        int buff;
        bool t;
             for(int i=0;i<n;i++)
          {   
             t=0;
             while(t==0)
                {
                        t=1;
                        for(int j=0;j<n-1;j++)
                          if(*(*(x+i)+j)>*(*(x+i)+j+1))
                            {
                              buff=*(*(x+i)+j);
                              *(*(x+i)+j)=*(*(x+i)+j+1);
                              *(*(x+i)+j+1)=buff;
                              t=0;
                     }  
               }
          }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.