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

Кольцевой односвязный список - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Описать структуру с именем WORKER http://www.cyberforum.ru/cpp-beginners/thread271315.html
описать структуру с именем WORKER содержащую следующие поля: Фамилия инициалы роботника; названия занемаемой должности; год поступления.
C++ Преобразование из ASCII в символ Подскажите, есть двумерный массив, int Massiv={{'H','E','L','L','O'}, {'W','O','R','L','D'}}; после for (int m=0;m<2;m++) { for (int n=0;n<5;n++) { http://www.cyberforum.ru/cpp-beginners/thread271308.html
Написать шаблон функции, и Создать класс. C++
Помогите ктота пожалуста ... Ето надо на С++ зделать. Спасибо за рание! 1. Написать шаблон функции вычисления произведения двух векторов. 2. Создать класс, в котором есть переменные-члены и одномерный массив. Инициализировать элементы массива случайными числами через внутренний указатель класса this.
C++ Классы
Разработать классы для описанного ниже объекта.Включить в класс методы(...),get (...),show (...).Определить другие методы.Написать программу,демонстрирующую работу с этим классом.Класс соответствует индивидуальному варианту. Person:Фамилия,Имя,Отчество,Адрес,Пол,Образование,Год рождения.Определить является ли человек совершеннолетним.
C++ Объединения, поля битов, перечисления http://www.cyberforum.ru/cpp-beginners/thread271247.html
всем доброго времени суток есть у меня задача затрудняюсь сделать сам вот само задание Перевести целое положительное двухбайтное число из десятичной в шестнадцатеричную систему счисления: использую эти самые поля битов я сейчас буду писать если кто может помочь или подсказать пишите буду благодарен. Добавлено через 5 минут так ну поля битов я кажется понял подскажиет ка модно реализовать...
C++ Засечь время выполнения поиска Создается массив случайных чисел, сортируется, и затем проводится поиск по этому массиву. Для определения время сортировки использовал clock_t, но использование в моем случае возвращается 0, если подумать, то 0 означает, что время выполнения функции очень мало. Можно ли как-нибудь засечь время с точностью большей, чем в миллисекундах? подробнее

Показать сообщение отдельно
VladSharikov
 Аватар для VladSharikov
22 / 22 / 1
Регистрация: 02.12.2010
Сообщений: 824
25.04.2011, 17:31     Кольцевой односвязный список
А зачем переход до головы, если можно просто присвоить position = head? тоесть начало списка?

А в функции моей нужно исправить steps на (count - steps) и тогда поидее она будет верной и будет работать, как думаете?

Добавлено через 3 минуты
Хотя count это ведь общее количество элементов списка... Тоесть мы получается с конца делаем три шага назад и указываем на этот элемент(например 10 элементов было, стали указывать на 7 элемент, даже если я находился на 6 позиции. Все равно в итоге будем указывать на 7 позицию.) и не важно на какой позиции мы находились, я прав?

Добавлено через 15 минут
Все таки как узнать где мы находимся в данный момент?
Где мы должны находится в данный момент? по моему или в начале, или в конце. Посередине вроде никак?

к position не обратится , ибо он private, да еще и указатель!
Как?!

Добавлено через 15 минут
Кстати! При добавлении элемента в список таким образом
C++
1
2
3
4
5
6
7
8
9
boy1[] = "ruslan";
boy2[] = "vlad";
boy3[] = "viktor";
boy4[] = "nikolay";
 
guys.insert(boy1);
guys.insert(boy2);
guys.insert(boy3);
guys.insert(boy4);
Происходит ошибка... В общем выводит так.

1 - 4 - 3 - 2
Код
ruslan
nikolay 
victor 
vlad
код вывода такой
C++
1
2
3
4
5
6
7
    // вывод списка на экран guys
    guys.go_first();
    for(int i = 1;i<=guys.size();i++){
        cout << guys.show() << endl;
        guys.go_next();
    }
    cout << endl;
Код самого insert
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void my_list::insert(char* str){
//Вставляет запись за текущей.
        nodes* new_node = new nodes;
        strcpy(new_node->data,str);
        if(position != NULL){
                new_node->next = position->next;
                position->next = new_node;
        } else {
                new_node->next = new_node;
                position = head = new_node;
        }
        count++;
}
Что не так, не знаете? найти не могу!
 
Текущее время: 14:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru