Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.039 c
3-1140605813
DelphiLexx
2006-02-22 13:56
2006.04.16
FIBDataSet - MasterDetail


15-1143440491
Ega23
2006-03-27 10:21
2006.04.16
С Днём рождения! 26 марта


3-1140428401
Shlomo
2006-02-20 12:40
2006.04.16
Ошибка: The conversion of a chat data type to a datetime data typ


15-1143311396
Топоним
2006-03-25 21:29
2006.04.16
Об употреблении некоторых топонимов


2-1144147269
Nick_serov
2006-04-04 14:41
2006.04.16
Работа в Grid t от TMS




   Наверх