Есть структура:
struck tel
{
int info;
tel *next; //указатель на след элемент списка
} *begin, t; //begin- указатель на начало
Функция для формирования списка:
tel* dob(tel *p, int in) {
tel *t = new list; // Захватываем память для элемента
t -> info = in; // Создаём информационную часть
t -> next = p; // Создаём адресную часть
return t;
}
Подскажите пожалуйста, как нужно дописать эту функцию, чтобы она сразу же сортировала элементы по убыванию info.
Вам нужно пройтись по списку в предположении, что он уже отсортирован, найти подходящее место для нового элемента так, чтобы список остался отсортированным после вставки, и, конечно, вставить элемент на найденное место.
Я бы на вашем месте не сортировал, а добавлял в то место куда необходимо. Пробегаем список от начала до конца, сравнивая элемент добавляемый нами с каждым. Если наш больше, запоминает куда указывал указатель у list в tmp, перезаписываем его чтобы указывал на наш элемент, а добавляемому элементу ставим next на tmp.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Здравствуйте! Возникла необходимость в написании парсера на C++На входе имеем два файла, в одном лежат входные данные (которые мы и будем проверять),...
Здравствуйте! Как с помощью C++ реализовать передачу данных из потока? К примеру, команда grep получает данные из cat: cat file | grep Компилятор gcc, заранее...
Есть проблема: Программа работает с большим количеством клиентов и выделяет большое количество портовДля каждого клиента выделяется один...