C/C++

Если есть одно направленый стек и двух направленый то почему нет трех направленого по аналогии с многомерными масивами?

Команды процессора PUSH и POP имеют специальную внутреннюю оптимизацию, чтобы всё время быть в L1-кэше. Соответственно, есть серьёзные ограничения на размер и использование стека. Компилятор в первую очередь старается избавиться от рекурсии. Тебе придётся компилировать прогу со специальным ключом, чтобы разрешить стек более 2Мб.

З.Ы.: Контекст потока и процесса сохраняются в стеке. Соответственно маленький и быстрый стек = быстрая многозадачность. Никогда ни одна ОС не позволит пихать туда многомерные данные.
Антон Зубков
Антон Зубков
26 556
Лучший ответ
Можно вверх пихать, можно вниз, а куда третье направление то, в жопу что ли?
Сергей Кислицын вот например массив
  • горизонталь строки
  • вертикаль столбцы
  • третее диагональ (к примеру по аналогии с векторами трех мерной модели X горизонт Y вертикаль Z глубина)
Знаю связный список и двусвязный списокА что такое двух направленный стек?
PS: Представить себе трехнаправленный это вообще надо IQ больше 500 иметь
Алексей Gt
Алексей Gt
52 397
Уверен что если бы ты был во главе комитета стандартизации С++ то появились бы и многомерные ненаправленные стеки и полная поддержка всех кодировок "с коробки". А язык назвали бы PC++ (Pyton + C++)
Иван Голубев
Иван Голубев
51 417
Дмитрий Комков По-моему, он просто пытается изобрести дерево или ещё какой-то подвид графа.
Я предполагаю, что вы говорите о стеках и массивах в контексте программирования. Обычно, когда мы говорим о "однонаправленных" и "двунаправленных" структурах данных, мы имеем в виду структуры данных, которые позволяют нам производить операции в одном или двух направлениях.

Одномерный массив или стек позволяет нам обращаться к его элементам по одному индексу, что можно интерпретировать как "однонаправленность". Двумерный массив позволяет нам обращаться к его элементам по двум индексам, что можно интерпретировать как "двунаправленность".

С точки зрения программирования, конечно, существуют многомерные массивы, которые позволяют нам обращаться к их элементам с использованием трех, четырех и более индексов. Однако, когда мы говорим о "трехнаправленных" структурах данных, то это понятие не является общепринятым и может быть не совсем корректным.

Что касается стеков, то обычно они являются однонаправленными структурами данных, которые следуют принципу "последний вошел — первый вышел" (LIFO). Некоторые вариации стеков могут иметь дополнительные функции, позволяющие некоторый вид "двунаправленности", но это не распространенная практика. "Трехнаправленный" стек не имеет смысла в контексте классического определения стека.
Петр Куницкий
Петр Куницкий
14 610