Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
viktoria213
1

Переместить последний элемент списка в начало списка

23.09.2013, 21:15. Показов 3433. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята, помогите пожалуйста, мне нужно написать программу. Я только начала учить язык С ((. Вот условие задачи : Переместить последний элемент списка в начало списка. Надеюсь на вашу помощь.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2013, 21:15
Ответы с готовыми решениями:

Перенести последний элемент списка в его начало
Привет всем! Помогите выполнить задание на си: Создать список, содержащий целые числа. Перенести...

Как удалить последний элемент списка?
// удаление последнего элемента списка void deleteLastItem(Item *ptr) { Item *tmp = NULL;...

Переместить последний элемент списка в начало списка.
Переместить последний элемент списка в начало списка. Вот что написал, но оно выдает ошибку там,...

В непустом динамическом списке последний элемент переместить в начало списка
Добрый день! Помогите пожалуйста. Ниже код,который был дан как образец в методичке и был переделан...

4
40 / 60 / 8
Регистрация: 16.11.2012
Сообщений: 460
Записей в блоге: 7
23.09.2013, 21:20 2
ну тебе грубо говоря стек нужно сделать...
стеки бывают двух типов - на массивах и на списках.
это кому что нравится.
а еще на С писать стек геморройнее чем на С++
и еще. обычно стек оборачивают в класс...
и еще , примеров написания стека в интернетах куча, первый же поисковой запрос выдаст тебе счастье.

вроде бы всё сказал.
нет, забыл...
почитай тут http://ru.wikipedia.org/wiki/%D1%F2%E5%EA
и тут можно глянуть как пример Стек: назначение и принцип работы. Примеры использования
0
lowercase
23.09.2013, 23:39
  #3

Не по теме:

Крюгер, человек же сказал, что только начал изучать язык Си. зачем сразу заваливать кучей теории, да и еще говорить, что стек лучше обернуть в класс на С++. у новичка от этого крыша может поехать, как минимум :)

0
40 / 60 / 8
Регистрация: 16.11.2012
Сообщений: 460
Записей в блоге: 7
23.09.2013, 23:45 4
lowercase,

Не по теме:

ой, да ладно тебе...чем тебе кажется ООП сложно для новичка?
тут же главное литру подобрать хорошую и всё... у меня мэил записан в инфе, если не понятки какие пусть пишет.проблем нет. могу скинуть 157 мб теории, притом ПОЛЕЗНОЙ . начиная от Страуструпа и заканчивая Шилдтом



Добавлено через 1 минуту
что страшного если всё удобненько находится в контейнере, нужно только взять...
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12460 / 7484 / 1754
Регистрация: 25.07.2009
Сообщений: 13,763
24.09.2013, 15:12 5
Цитата Сообщение от viktoria213 Посмотреть сообщение
Я только начала учить язык С
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
 
typedef struct NODE {
    int value;
    struct NODE * next;
} node_t;
 
void insert(node_t ** list, const int value) {
    node_t * node;
 
    assert ( list && ( node = malloc(sizeof(node_t)) ) );
    
    node->value = value;
    node->next = NULL;
    
    if ( *list ) {
        while ( (*list)->next )
            list = &((*list)->next);
        (*list)->next = node;
    }
    else
        *list = node;
}
 
void tail2head(node_t ** list) {
    node_t * prelast, * last;
    
    assert ( list && *list && (*list)->next );
    
    for ( prelast = *list; prelast->next && prelast->next->next; prelast = prelast->next )
        ;
    last = prelast->next;
    prelast->next = NULL;
    last->next = *list;
    *list = last;
}
 
void dump(const node_t * list) {
    while ( list ) {
        printf("%d ", list->value);
        list = list->next;
    }
    printf("\n");
}
 
void release(node_t ** list) {
    if ( *list ) {
        release(&((*list)->next));
        free(*list);
        *list = NULL;
    }
}
 
int main(void) {
    node_t * list = NULL;
    
    insert(&list, 1);
    insert(&list, 2);
    insert(&list, 3);
    
    dump(list);
    
    tail2head(&list);
    
    dump(list);
    
    release(&list);
    
    return 0;
}
Скорее всего непонятно будет, но Вы спрашивайте, не стесняйтесь...
0
24.09.2013, 15:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2013, 15:12
Помогаю со студенческими работами здесь

Переместить элемент списка в начало
Вот такой пример кода: &lt;ul id=&quot;fortask1&quot; class=&quot;adds&quot;&gt; &lt;li id=&quot;lik4&quot; class=&quot;lid&quot;&gt;..&lt;/li&gt; ...

перенести в начало списка последний элемент
Уважаемые прогеры помогите с задачей данного типа: Написать программу переноса в начало списка его...

Перенести в начало списка его последний элемент
итак, мне нужно перенести на начало списка его последний элемент. во-первых, я не понял, как...

Переместить элемент в конец списка и вывести указатели на первый и последний элементы
Помогите, пожалуйста! Прошу вас о помощи в написании программы на С++... Задача такова: Дан...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru