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

Какая разница?! - C++

Восстановить пароль Регистрация
 
Maska369
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 19
04.11.2010, 11:47     Какая разница?! #1
Вот две сортировки массивов, если не трудно обьясните пожалуйста разницу и есть ли указатели тут:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bool foo(double i,double j)
{
        return (abs(i) > abs(j));
}
 
int main(){
 
double arr[] = {1.2, 1.8, 4.5, 0.1, 0.9, 9.7, 9.8, 0.2, 3.5, 5.7, 3.8, 6.0, 4.2, 4.3, 5.1 };
 
        sort(arr,arr+15,foo);
 
        for(int i = 0; i < 15; i++)
                cout<<arr[i]<<" ";
        cout<<endl;
 
        system("pause");
        return 0;
}
Вот вторая
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main()
 {
     float b; 
     float Mas[15] = {1.2, -1.8, -4.5, -0.1, -0.9, 9.7, -9.8, 0.2, 3.5, 5.7, -3.8, -6.0, 4.2, 4.3, -5.1}; 
     for (int i = 0; i < 14; i++){
         for (int j = 0; j < 14; j++){
             if (Mas[j]>Mas[j+1]){
                 b = Mas[j];   
                 Mas[j] = Mas[j+1];
                 Mas[j+1] = b;
            };
         };
     };
     for (int i = 0; i<15; i++){
          printf("%2.1lf", Mas[i]);
 
     };
 system("pause");
 return 0;
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2010, 11:47     Какая разница?!
Посмотрите здесь:

C++ Какая разница между cin и getline?
C++ какая разница между cin и scanf?
Какая разница в инициализации? C++
Какая разница? C++
C++ Какая разница между двумя алгоритмами?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.11.2010, 11:55     Какая разница?! #2
Maska369, В первой нет самой сортировки. Только вызов функции.
А. Там стандартная используется. Там по умолчанию быстрая сортировка, однако для маленьких массивов идет вроде как сортировка вставками. И сортируется по модулям элементов.

Вторая соответственно самопал.
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
04.11.2010, 11:56     Какая разница?! #3
Первый - с помощью библиотечной C++-шной готовой функции sort(), второй - вручную.
Maska369
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 19
04.11.2010, 11:57  [ТС]     Какая разница?! #4
Но оно же отсортировало?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.11.2010, 11:59     Какая разница?! #5
Maska369, Библиотечная сортировка работает быстрее. Она оптимизирована. При большом размере массива - будет сортировать значительно быстрее, чем самопальная.
Maska369
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 19
04.11.2010, 12:02  [ТС]     Какая разница?! #6
Извините я просто новичек, и пыталась сама разобраться, просто мне нужна сортировка по убыванию с указателями и без...

Добавлено через 1 минуту
Цитата Сообщение от ForEveR Посмотреть сообщение
Maska369, Библиотечная сортировка работает быстрее. Она оптимизирована. При большом размере массива - будет сортировать значительно быстрее, чем самопальная.
Спасибо, так стало намного понятней.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.11.2010, 12:14     Какая разница?! #7
Maska369, Если новичок - то крутите вылосипед. Стандартную могут не принять
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2010, 12:18     Какая разница?!
Еще ссылки по теме:

C++ Какая разница между аргументами и параметрами?
C++ Какая разница между компиляцией и компоновкой?
Какая разница что возвращать в main? C++

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

Или воспользуйтесь поиском по форуму:
Maska369
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 19
04.11.2010, 12:18  [ТС]     Какая разница?! #8
ForEveR, Мне главное с указателями в сортировке разобраться, а то никак не пойму куда их...
Yandex
Объявления
04.11.2010, 12:18     Какая разница?!
Ответ Создать тему
Опции темы

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