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

Удаление элемента из списка по его номеру - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа вычисления обьема цилиндра и конуса на С++ http://www.cyberforum.ru/cpp-beginners/thread1094634.html
Программа вычисления обьема цилиндра и конуса, которые имеют одинаковую высоту H и одинаковый радиус основания R
C++ system("pause") Подскажите пожалуйста, можно ли заменить сообщение "Для продолжения нажмите любую клавишу" при применении команды system("pause")? http://www.cyberforum.ru/cpp-beginners/thread1094621.html
C++ Бинарная ассоциация
Добрый день есть статья которая расположена по адресу http://habrahabr.ru/post/150041/, пытаюсь разобраться и сделать это на C++, столкнулся с проблемой в коде применительно к бинарной ассоциации: ...
C++ Логический оператор ИЛИ
Всем привет,на днях преподаватель задал интересный вопрос: "Почему в С++ для оператора ИЛИ используют "|| ",а не "|" ?
C++ Одномерный массив. Найти номер первого из элементов, который меньше данное число k http://www.cyberforum.ru/cpp-beginners/thread1094616.html
Дан массив чисел 16,8,35,201,110,17,18,19,20 .Знайти номер первого из элементов, который меньше данное число k.
C++ Функция, находящая периметр равнобедренного треугольника Здравствуйте! Вот пытался сделать задачу: Описать функцию TriangleP(a, h), находящую периметр равнобедренного треугольника по его основанию a и высоте h, проведенной к основанию (a и h —... подробнее

Показать сообщение отдельно
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170

Удаление элемента из списка по его номеру - C++

11.02.2014, 22:54. Просмотров 483. Ответов 6
Метки (Все метки)

Народ, подскажите как связать функцию удаления элемента списка по номеру со структурами которые даны
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
typedef struct {
    char name[50];
    int order;
    float average_point;
} student;
 
typedef struct l_node{
    void *data;        // Указатель на данные
    l_node *next;      // Указатель на следующий элемент
} list_node;
 
typedef struct {
    list_node *head;    // Указатель на голову списка
    list_node *current;        // Указатель на текущий элемент списка
    int list_size;      // Кол-во элементов списка
    compare_func_t func_cmp; // Указатель на функцию сравнения элементов
} list_head;
и собственно сама функция
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int list_del(list_head *list, int num){
      list_head *pr = 0, *curr = list;
      for(int i = 0; i<=num && curr; ++i)
        {
          pr = curr;
          curr = curr->next;
        }
      if(!curr)
        return 0;
      if(pr)
        pr->next = curr->next;
      else
        list = curr->next;
      delete curr;
      return 1;
    }
Добавлено через 12 минут
я не знаю как сделать, потому что указатель на начало списка находится в одной структуре, а указатель на следующий элемент в другой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru