рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Шаблон связанного списка

Шаблон связанного списка - раздел Информатика, Линейный список –совокупность однотипных элементов, расположенных последовательно друг за другом, количество элементов в списке не фиксируется Для Создания Шаблона Требуется, · Чтобы Объ...

Для создания шаблона требуется,

· чтобы объявление операций и реализация этих операций находились в одном файле (3-х файловая программа не работает).

· template <class tip> помешают перед каждой функцией и структурой tel (если в ней есть параметр шаблона).

//shablon.h

#include <iostream>

#include <fstream>

#include <iomanip>

using namespace std;

 

template <class tip>

struct tel

{tip inf;

tel *next;

};

 

struct point // структура нужна для перегрузки операции,

{double x,y;}; // как другой тип параметра шаблона

 

// включить элемент в пустой список

template <class tip>

void vkl (tel<tip> * &p, tel<tip> * &q, tip el) //в списке 2 указателя

{p=new tel<tip>;

p->inf=el;

p->next=0;

q=p;

}

// включить элемент в начало списка

template <class tip> // В списке есть элементы

void vklnach(tel<tip> * &p, tip el)

{tel<tip> *r =new tel <tip>;

r->inf =el;

r->next =p;

p=r;

}

//включить элемент в конец списка

template <class tip>

void vklkon (tel<tip> * &q, tip el)

{q->next=new tel<tip>;

q =q->next;

q->inf=el;

q->next=0;

}

//выдать все эл-ты из св. списка в файл

template <class tip>

void wrf (ofstream & f, tel<tip> * p)

{tel<tip> *r = p;

while (r)

{f<< r->inf<<" ";

r=r -> next;}

f<<endl;

}

// удаление списка

template <class tip>

void delsp(tel<tip> * &p, tel<tip> * &q)

{tel<tip> *r;

while (p)

{r=p;

p=p->next;

delete r;

}

q=0;

}

//перегрузка операции<<

ofstream & operator << (ofstream & f, point p)

{f<<p.x<<" "<<p.y<<'n';

return f;

}

#include "shablonsp.h"

int main()

{tel<int> *beg=0, *kon=0;

ifstream fin;

ofstream fout;

fin.open("dan.txt");

if (fin.fail())

{cout<<"error open file dan.txt "<<endl; return 1;}

fout.open("rez.txt");

if (fout.fail())

{cout<<"error open file rez.txt "<<endl; return 1;}

int m;

int z=1;

if (fin>>m) vkl (beg, kon, m);

while (fin>>m)

{if (z>0) vklnach (beg,m);

else vklkon (kon,m);

z=-z;

}

wrf (fout, beg);

delsp (beg, kon);

fin.close();

fout.close();

 

tel<point>*u=0,*v=0;

fin.clear();

fout.clear();

fin.open("danp.txt"); if (fin.fail())

{cout<<"error open file danp.txt "<<endl; return 1;}

fout.open("rez.txt",ios::app);

if (fout.fail())

{cout<<"error open file rez.txt "<<endl; return 1;}

point b;

z=2;

if (fin>>b.x>>b.y) vkl (u,v,b);

while (fin>> b.x>>b.y)

{if(z>0) vklnach(u,b);

else vklkon (v,b);

z=-z;

}

wrf(fout,u);

delsp(u,v);

fin.close();

fout.close();

return 0;

}

dan.txt

32 5 6 7 8 9 21 33 65

danp.txt

1 2.5

2 3

3 1

4 2

5 9

6 4

7 5

– Конец работы –

Эта тема принадлежит разделу:

Линейный список –совокупность однотипных элементов, расположенных последовательно друг за другом, количество элементов в списке не фиксируется

Линейный список совокупность однотипных элементов расположенных последовательно друг за другом количество элементов в списке не фиксируется...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Шаблон связанного списка

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Связанный список.
Пусть x0 , x1 ,x2 ,. . . . .xn-3, xn-2, xn-1 – совокупность значений данных некоторого типа tip, к

Struct tel
{tip inf; //информационная часть tel *next; //указатель на следующий элемент }; 2. Описать указатель на связанный списо

P->next=0), либо в середину
} Динамические структуры можно создавать на основе связанного списка. В этом случае элементы динамической структуры составляют информацио

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги