понедельник, 16 мая 2011 г.

ВВСМВМ


// List.h

template class SingleList
{
class List
{
public:
Data d;
List *next;
List(Data key){d=key; next=0;}
};
List *beg;
    public:
SingleList(){beg=0;}
~SingleList();
void add(Data d);
int remove(Data d);
int removeplace(int n);
List * insert(Data key, Data d);
List * find(Data d);
void print();
SingleList & operator +(const SingleList & Z);
SingleList & operator =(const SingleList &Z);
};


template
SingleList ::~SingleList()
{
if (beg!=0){
List *p=beg;
while (p){
p=p->next;
delete beg;
beg=p;
}
}
}

template
void SingleList ::print()
{
List *p=beg;
cout<<"List: ";
while (p)
{
cout<d<<' ';
p=p->next;
}
}
template
void SingleList::add(Data d){
List *p= new List(d);
if (beg==0) beg=p;
else
{
List *tmp=beg;
while (tmp->next) tmp=tmp->next;
tmp->next=p;
p->next=0;
}
}

template
SingleList & SingleList ::operator +(const SingleList & Z)
{
SingleList *pnt=new SingleList();
SingleList *tmp=this->beg,*tmp2=pnt->beg;
while (tmp->next!=0)
{
tmp2->next=new List();
tmp2->next->data=tmp->next->data;
tmp=tmp->next;
tmp2=tmp2->next;
}
tmp=*(Z.list);
while (tmp->next!=0)
{
tmp2->next=new List();
tmp2->next->data=tmp->next->data;
tmp=tmp->next;
tmp2=tmp2->next;
}
tmp2->next=0;
return *pnt;
}

template
SingleList & SingleList::operator =(const SingleList &Z)
{
List *tmp=beg, *tmp2=Z.beg.next;
tmp->data=Z.data;
while (tmp2!=0)
{
if (tmp->next==0)
tmp->next=new SingleList(tmp2->next->data);
else
tmp->next->data=tmp2->data;
tmp2=tmp2->next;
tmp=tmp->next;
}
tmp->next=0;
}

template
List * SingleList::find(Data d){
List *p=beg;
while(p)
{
if (p->d==d) return p;
p=p->next;
}
return 0;
}

template
List * SingleList::insert(Data key, Data d){
if (List *place=find(key))
{
List *p=new List(d);
p->next=place->next;
place->next=p;
}
return 0;
}

template
int SingleList::removeplace(int n)
{
List * tmp;
if (n<1) return 0;
if (n==1)
{
tmp=beg->next;
delete beg;
beg=tmp;
return 1;
}
List *p=beg;
for (int i=0;i
{
if (p=0) return 0;
p=p->next;
}
tmp=p->next;
p->next=tmp->next;
delete tmp;
}


template
int SingleList::remove(Data d)
{
if (beg->d==d)
{
removeplace(1);
return 1;
}
List *p=beg;
while(p->next)
{
if (p->next->d==d)
{
List *tmp=p->next;
p->next=tmp->next;
delete tmp;
return 1;
}
p=p->next;
}
return 0;
}


понедельник, 5 апреля 2010 г.

Копируя одного человека...

Я :
1) буду ложиться спать в 10 часов вечера.
2)буду делать все уроки дома(ну почти все).
3) постоянно отвыкну от контакта
4) прочитаю наконец хорошие книжки типа "Трёх мушкетёров" и т.д.
5) И вообще буду больше читать.
6)Напишу проект. Вовремя.
7)выучу в совершенстве английский, немецкий, польский... Ну и может древнеславянский.
8)узнаю больше о родном городе
9) окончу школу без троек и половины четвёрок
10)...
Если что-то ещё вспомню, напишу.
Надеюсь, это совместимо.

Спать надо больше...

Сегодня вечером заснул и проспал начало тренировки... Хорошо хоть, что это не привело ни к каким последствиям... Определённо надо ложиться спать в 10 часов. Сейчас я читаю геометрию и спать...

Прогулка

Погулять в центре Питера всё-таки можно, несмотря на дым от машин везде. Весна к нам приходит. Подольше бы остался снег, но нет - надо конечно небесам разверзнуться и пропустить солнце. Солнце это конечно хорошо, но вся эта слякоть... Лучше бы был снег. А так - в центре есть много чего интересного - особенно набережные. Сегодня, когда я шёл мимо Гренадёрского моста, почему-то заметил чаек, "плавающих" на льдинах. Почему же они взлетают с льдины, когда она проходит под мостом или близко с кораблём? К сожалению, нормального фотоаппарата нету. А когда к дому подходил, увидел школьников лет 12-13. Вопреки опасениям, всякой дряни не замечено. Пытаясь послушать и посмотреть, что они делают, залез на паребрик, походил по нему. Они же заметили это, посмеялись над тем, как я лазил. Когда уходил, крикнули : "Пока!". Всё-таки ещё не всё потеряно.

Создан

Ну что ж, я таки решил создать этот блог. Через некоторое время я создам свой блог самостоятельно с нуля(я надеюсь). А пока я буду писать здесь.