Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.047 c
4-1138030365
Volf_555
2006-01-23 18:32
2006.04.16
Как получить ТЕКСТ окна, найденного при помощь GetWindowText?


2-1142940985
Ksenom
2006-03-21 14:36
2006.04.16
Не так всё прсто TIdPOP3


2-1144040924
dera
2006-04-03 09:08
2006.04.16
Как программно "привязать" DBGrid к DataSource?


2-1144234595
Alex_C
2006-04-05 14:56
2006.04.16
Как передать фокус чужому приложению?


1-1142232526
Guf
2006-03-13 09:48
2006.04.16
Не прямоугольные кнопки и прозрачные формы