Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];

Вниз

Указатели   Найти похожие ветки 

 
EXILE   (2006-03-30 16:37) [0]

Всем привет, есть такая програмка:
type
TPStudent=^TStudent;
TStudent = record
f_name:string[20];
l_name:string[20];
next: TPStudent;
end;
var
head: TPStudent;
procedure TForm1.Button1Click(Sender: TObject);
var
node: TPStudent;
curr: TPStudent;
pre: TPStudent;
begin
new(node);
node^.f_name:=Edit1.Text;
node^.l_name:=Edit2.Text;
curr:=head;
pre:=NIL;
while (curr <> NIL) and (node.f_name > curr^.f_name) do
begin
pre:= curr;
curr:=curr^.next;
end;
if pre = NIL then
begin
node^. next: =head; head:=node;
end
else
begin
curr node^.next:=рre^.next;
рrе^.next:=node;
end;
Edit1.text:="";
Edit2.text:="";
Edit1.SetFocus;
end;

так то вроде все понятно кроме  одного как  работают указатели...ну вот к примеру взять это
while (curr <> nil) and (node.f_name>curr^.name) do
begin
pre:=curr;
curr:=curr^.next; // т.е. к следующему узлу, но как я понимаю если введенное значение больше текущего то предыдущему мы присваиваем текущее и по указателю текущего переходим к следующему...но следующим является pre, а  так как pre:=curr, они содержат одни и теже данные.................
вообщем чето я не пойму как они обьясните кто нибуть простым языком что да как, (как работает вся прог-ма обьяснять не надо ток про указатели) плиз


 
Anatoly Podgoretsky ©   (2006-03-30 16:41) [1]

Они указывают куда то.


 
Сергей М. ©   (2006-03-30 16:44) [2]


> обьяснять не надо ток про указатели


А иначе и нет смысла тебе что-то еще объяснять.
В работе механизма указателей - вся соль этого алгоритма.


 
EXILE   (2006-03-30 16:46) [3]

:) это я и сам знаю, что кудато,  непонятен сам принцып действия
вот это тож:
node^.next:=pre^.next // как я понял мы меняем местами указатели новый узел казывает на тот узел на который указывал предыдущий,
pre^.next:=node; // а предыдущий указывает на новый....вроде так


 
EXILE   (2006-03-30 16:47) [4]

> Сергей М. ©   (30.03.06 16:44) [2]

Хм так я про их работу и спрашиваю



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.041 c
6-1136299296
syned
2006-01-03 17:41
2006.04.16
проблема с сообщениями в WinSock


6-1136402386
Jenya
2006-01-04 22:19
2006.04.16
Как в Delphi 7.0 отправить письмо на E-mail?


6-1136699997
ezorcist
2006-01-08 08:59
2006.04.16
Запретить показывать ошибку


4-1138792357
bvn123
2006-02-01 14:12
2006.04.16
Как написать обработчик события, созданного с пом. CreateEvent


11-1124466537
L505
2005-08-19 19:48
2006.04.16
Delete key for edit box





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский