Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2007, 10:57   #1
Olgasato
 
Регистрация: 13.11.2007
Сообщений: 9
По умолчанию Стек и очередь. (Delphi)

Здравствуйте уважаемые программисты!

Есть задачка по динамическим структурам данных...

>Нужно организовать Стек и Очередь с возможностью добавления и удаления элементов. (Элементами могут быть родственники, студенты и т.п. Не столь важно.) Я так поняла, что на форме нужно:
1.куда вводить элемент,
2.где будет отображаться,
3.2 кнопки: Добавить и Удалить.
(Может что-то еще, если необходимо...)

Спасибо Вам заранее....
Olgasato вне форума Ответить с цитированием
Старый 05.12.2007, 09:27   #2
Olgasato
 
Регистрация: 13.11.2007
Сообщений: 9
По умолчанию ??

Это работает на основе динамических указателей... Неужели никто не сможет помочь.....
Olgasato вне форума Ответить с цитированием
Старый 05.12.2007, 09:53   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Это работает на основе динамических указателей
Так. И что Оля знает про это?
Идеи есть по поводу указателей?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.12.2007, 10:53   #4
Olgasato
 
Регистрация: 13.11.2007
Сообщений: 9
По умолчанию

Да вот именно толком ничего не знаю... Только что это динамические структуры данных и связанно с указателями, динамической памятью и т.п. Вот.......
Olgasato вне форума Ответить с цитированием
Старый 15.11.2009, 21:47   #5
Studentus
Новичок
Джуниор
 
Регистрация: 15.10.2009
Сообщений: 2
По умолчанию

Можете объяснить разницу между двумя кодами. И так и так программа работает
Цитата:
program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
TPSpisok=^TSpisok;
TSpisok = record
chislo:integer;
next: TPSpisok;
end;

Var spisok1,spisok2:TPSpisok;
a,i,n:integer;

procedure input(a:integer;var head: TPSpisok);
var temp:TPSpisok;
begin
new(temp); //создание нового елемента списка
temp.chislo:=a;
// добавление в начало списка
temp.next:=head;
head:=temp;
end;

procedure output(var head:TPSpisok);
var temp:TPSpisok;
begin
temp:=head;
while temp <> NIL do
begin
Writeln(temp.Chislo);
temp:=temp.next;
end;
end;

begin
Readln(n);
for i:= 1 to n do begin
Readln(a);
Input(a,spisok1);
end;
for i:= 1 to n do begin
Readln(a);
Input(a,spisok2);
end;
output(spisok1);
output(spisok2);;
readln;
end.
А тут в процедуре input стоят указатели
Цитата:
program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
TPSpisok=^TSpisok;
TSpisok = record
chislo:integer;
next: TPSpisok;
end;

Var spisok1,spisok2:TPSpisok;
a,i,n:integer;

procedure input(a:integer;var head: TPSpisok);
var temp:TPSpisok;
begin
new(temp); //создание нового елемента списка
temp.^chislo:=a;
// добавление в начало списка
temp.^next:=head;
head:=temp;
end;

procedure output(var head:TPSpisok);
var temp:TPSpisok;
begin
temp:=head;
while temp <> NIL do
begin
Writeln(temp.Chislo);
temp:=temp.next;
end;
end;

begin
Readln(n);
for i:= 1 to n do begin
Readln(a);
Input(a,spisok1);
end;
for i:= 1 to n do begin
Readln(a);
Input(a,spisok2);
end;
output(spisok1);
output(spisok2);;
readln;
end.

Последний раз редактировалось Studentus; 15.11.2009 в 23:29.
Studentus вне форума Ответить с цитированием
Старый 28.03.2010, 00:01   #6
Nata_student_nik
 
Регистрация: 16.03.2010
Сообщений: 3
По умолчанию

А помогите мне пожалуйста, никак не могу организовать очередь, ее надо организовать вручную. Я вначале перепутала со стеком, его сделала, а очередь никак не получается, посоветуйте мне, пожалуйста!!!
Nata_student_nik вне форума Ответить с цитированием
Старый 02.04.2010, 01:18   #7
Vladimir-888
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 29
По умолчанию

Цитата:
Сообщение от Nata_student_nik Посмотреть сообщение
А помогите мне пожалуйста, никак не могу организовать очередь, ее надо организовать вручную. Я вначале перепутала со стеком, его сделала, а очередь никак не получается, посоветуйте мне, пожалуйста!!!
Извини, помочь тебе не могу, так как не пробовал, но возможно ты мне сможешь помочь) Ты пишешь что организовала вручную стек. Мне то как раз и нужен стек. Можешь показать код?)
Vladimir-888 вне форума Ответить с цитированием
Старый 02.04.2010, 07:54   #8
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Цитата:
Сообщение от Nata_student_nik Посмотреть сообщение
А помогите мне пожалуйста, никак не могу организовать очередь, ее надо организовать вручную. Я вначале перепутала со стеком, его сделала, а очередь никак не получается, посоветуйте мне, пожалуйста!!!
А чем очередь (список) отличается от стека? Список может иметь не ограниченный размер. Стек имеет ограниченный размер и может быть переполнен. Кроме того стек имеет структуру либо FIFO (first in - first out, что значит первым вошел - первым и вышел; либо LIFO (last in - fist out, что значит последним вошел - первым вышел)... Отсюда вывод, очередь(список) организовать гораздо проще, чем стек. Уж если ты сделала стек, то очередь сделаешь тоже...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 02.04.2010, 08:08   #9
QuadroX
323787261
Пользователь
 
Аватар для QuadroX
 
Регистрация: 19.12.2008
Сообщений: 49
По умолчанию

Обращайтесь ICQ: 323787261 помогу недорого.
ICQ: 323787261
Email: pschegolevatykh@gmail.com
QuadroX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать очередь из n целых чисел вычисляющая по формуле А=х*х+1; evrey Паскаль, Turbo Pascal, PascalABC.NET 1 02.06.2008 20:44
Создать очередь из n целых чисел вычисляющих по формуле А=х*х+1; х=1,2,3..n. evrey Помощь студентам 3 01.06.2008 00:00
Стек Foky Паскаль, Turbo Pascal, PascalABC.NET 8 13.05.2008 18:39
процессы выполнялись сразу, не ставясь в очередь Var17 Win Api 3 03.05.2008 12:57
Очередь, нид хэлп Roman-S Общие вопросы C/C++ 1 15.03.2008 23:40