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

Быстрая сортировка Хоара без рекурсивных функций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ курсовая работа по информатике http://www.cyberforum.ru/cpp-beginners/thread558705.html
Помогите кто чем сможет)))
C++ Задача для сложения чисел в строке. Привет всем, хочу у вас проконсультироваться, что у меня тут не правильно. Задача: Создать текстовый файл с произвольным числом строк. В тексте должны встречаться цифры. Вычислить сумму цифр и... http://www.cyberforum.ru/cpp-beginners/thread558695.html
Задача со стеком C++
Всем Здравствуйте,прошу помощи по написанию программы,суть проблемы такова: необходимо написать программу, используя Стек,которая разбирает алгебраические выражения(т.е. вычисляет значение выражения)...
C++ Двусвязные списки в C++
Задача: При построении в списке располагать сначала узлы, содержащие простые числа, а потом все остальные. Я вроде сделал функцию по проверке простых числе и функции вывода двусвязного списка. Вот...
C++ Конструктор класса с параметром http://www.cyberforum.ru/cpp-beginners/thread558671.html
Люди, помогите пожалуйста, а то скоро я кого-нибудь убью по-моему... Самое начало программы. Описываю первый класс. Подключил написанный ранее класс, работавший идеально. #include "vector.cpp" ...
C++ Дан массив A[N]. заполнить массив В[N] элементами массива A[N], которые удовлетворяют двойному неравенству Дан массив A. заполнить массив В элементами массива A, которые удовлетворяют двойному неравенству: A< A или A< A. Незаполненные элементы массива В заполнить оставшимися элементами массива A.... подробнее

Показать сообщение отдельно
Kuzia domovenok
2117 / 1946 / 190
Регистрация: 25.03.2012
Сообщений: 6,750
Записей в блоге: 1
27.04.2012, 17:18
Цитата Сообщение от yuliyayuliya28 Посмотреть сообщение
нужна будет оценка сложности...я на простой программе не понимаю как а что с рекурсией делать вообще не знаю..
И из-за этого типичный рекурсивный алгоритм, реализаций которого через рекурсию тысячи штук на любом сайте надо пытаться решать другим способом???
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int counter=0;
void qsort(int*, int, int){
  //....
  while (left<right){
    ////...
    if (a[left]>a[right]){
      swap(left, right);
      counter++;
    }
  }
  if(...)qsort(...);
  if(...)qsort(...);
}
int main(){
//...
  counter=0;
  qsort(...);
  cout<<counter;
 
}
или static int counter можно
или, чтоб qsort возвращал число операций.
C++
1
2
3
4
5
6
7
8
9
10
11
12
void qsort(int*, int, int){
   int ops_num=0
  //....
  while (left<right){
    ////...
    if (a[left]>a[right]){
      swap(left, right);
      ops_num++;
    }
  }
  return qsort(...)+qsort(...)+ops_num;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.