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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.63
МИШЛЯНДИЯ
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 12
#1

Односвязный список. - C++

07.02.2011, 17:22. Просмотров 1203. Ответов 2
Метки нет (Все метки)

Привет -_-
В моем понимании односвязный список это типо прямоугольнички, состоящие из двух - в одном из них типо содержание прямоугольничка (поле) а в другом указатель на посл. прямоуг. списка =D

ну так вот... передо мной стоит задача

16. На основе односвязного списка организовать очередь.

Че ваще от меня нужно 0_0

Поясните мне плиз задание. Я понимаю что такое очередь.

типо мне надо сделать "прыжки" по списку так как в очереди? типо что первым вошел в список - первым из него и выйдет.

Собственно как это сделать?
Помогите плиз нубу =D

Добавлено через 42 минуты
Если поставленная изначально задача бросает вас в забвение, то предложу более реальную задачу

18. На основе двухсвязанного списка разработать процедуру вычитания больших
чисел.

но тут уже Двушка -_- Двушка это типо когда есть указатель на предыдущий и послед. прямоугольничек?)

Это задание на самом деле лютое очень)

Даже не понятно как произвести реализацию.

Сделать содержимое элементов списка по 4? или как?

ну типо у нас допустим 1 234 567 - 1 111 111

И тут типо надо работать отдельно с каждым элементом списка?

Я так понимаю, что у нас имеется 2 списка:

1 234 567
и
1 111 111

и мы берем последовательно начиная с первого элементы каждого списка и вычитаем?

или я вообще не правильно понимаю списки?

или надо брать

1 2 3 4 5 6 7 8 9
1 1 1 1 1 1 1 1 1

и вычитать по одиночкам?

и при этом исходя из свойства двухсвязного списка если у нас в верхнем к примеру 8 а в нижнем 9, то тогда мы ссылаемся на предыдущий элемент списка и изменяем его на единицу (начало типо справа взято =D) а переходы рассматриваемых пар осуществляются путем перехода на послед. элементы (по свойству двусвязного списка: переходы можно делать к послед. и предыдущ. элементу.)

Я правильно понимаю способ реализации?

Добавлено через 7 минут
для тех, кто не понял, что я сказал поясню

в первом случае я подразумеваю, что содержания прямоугльничков взяты по 3

типо первый прям. 1 , во втором 234, в третье 567

а в другом списке в первом 1, во втором 111 и т.д.

А во второй версии прямоугольничков 9

типо по 1 элементу

и это более логично

я даже уже признаю о ненужности первого варианта, т.к допусти если сочетания берутся 234 - 567

то мы не сможем произвести вычитание, т.к. невозможно применить правила вычитания здесь.

А во 2 случае мы сами прекрасно можем закодить вычитания элементов "поодиночно" и если типо при вычитании отриц. число, то берем "десятку" из послед. элемента.

но вот в чем прикол

я щас то понял

у нас движение по списку идет

9 -> 8 и т.д

т.е. с конца

т.е.

<-

и при взятии десятки движение идет также

<-

по логике - это односвязный список (если обратить то будет -> как в односвязном списке.)

а у меня двусвязный список

кароче мой мозг разрядился и я уйду в афк на 2 часа. Надеюсь, что вы откроете иистину

Добавлено через 2 минуты
АХАХАХ

А если рассмотреть сумму а не разность, то получиться тоже реализация односвязного списка, т.к. мы движемся

<- по списку (начало взято справа)

и если складываем 5 и 6

то увеличиться элемент который расположен

<-

печалько....

тоже одностороннее движение

ААА! Помогитеее =D

Добавлено через 2 минуты
А я вот сейчас подумал

На примере суммы...

Если задать движение
->
(начало взято СЛЕВА)

и при встрече 5 + 6

нам надо будет вернуться к предыдущему элементу!

т.е

<-

=D

Неужели это и есть истина???

Скажите плиз что я прав =DDD

Добавлено через 2 минуты
P.S. Если я вынес Вам мозг, то сорри я не спецально -_-
Если вы думаете что я просто тупой и не понимаю списков, то я тоже не спецально =___=
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2011, 17:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Односвязный список. (C++):

Сформировать список из 10 книг, используя динамическую структуру данных односвязный список - C++
друзья спасайте Сформировать список из 10 книг, используя динамическую структуру данных односвязный список С++

Создать двусвязный список групп факультета, где каждая группа представляет собой односвязный список студентов - C++
Задание: создайте двусвязный список групп факультета. Каждая группа представляет собой односвязный список студентов. Помогите пожалуйста,...

Задали односвязный линейный список с целыми числами. Создать новый список, который содержит элементы заданного списка в обратном порядке - C++
Задали односвязный линейный список с целыми числами. Создать новый список, который содержит элементы заданного списка в обратном порядке.

Односвязный список - C++
Доброй ночи! Вроде все написала правильно, прога должна читать из файла KR8+.txt и записывать один элемент в KR8.txt в конец списка... но...

Односвязный список - C++
Здравствуйте! Кто может разъяснить как вставить в узел заданного места значение.. 1. Нужно выделить память Elem *Ins = new Elem ...

Односвязный список - C++
как в односвязном списке сделать проверку на одинаковые элементы? и если они есть, удалить один из них.

2
easybudda
Модератор
Эксперт CЭксперт С++
9664 / 5614 / 952
Регистрация: 25.07.2009
Сообщений: 10,778
07.02.2011, 17:28 #2
Цитата Сообщение от МИШЛЯНДИЯ Посмотреть сообщение
На основе односвязного списка организовать очередь.
Очередь
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
07.02.2011, 18:20 #3
пишешь свой односвязный List с 4 методами
* front()
* back()
* push_back()
* pop_front()
а потом так
C++
1
2
3
4
5
6
7
#include<iostream>
#include<queue>
using namespace std;
 
int main(){
    queue<int, List<int> > q;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2011, 18:20
Привет! Вот еще темы с ответами:

Односвязный список - C++
Помогите пожалуйста доделать программу, а то я не могу, надо именно в таком формате (векторное представление списка) Само задание - к...

Односвязный список - C++
Нужно составить код для односвязного списка (формирование и вывод). При этом нельзя использовать классы(( Вроде код правильный, но...

Односвязный список - C++
Во общем, программа создает список и заносит туда элементы с помощью массива. Но при выводе, программа выводит лишний элемент первым. Где...

Односвязный список - C++
Здравствуйте,правильно ли организовал ввод #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; struct spisok { int info; spisok *link;...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru