волкова (1119746), страница 6
Текст из файла (страница 6)
void push_front ( const T&value ) ; // добавляет элемент в начало списка
void pop_back () ; // удаляет последний элемент (не возвращает значение!)
void pop_front () ; // удаляет первый элемент списка
size_type size() const; // выдает количество элементов списка
bool empty () const; // возвращает истину, если вызывающий список пуст
void clear(); //удаляет все элементы списка
……….
}
Пример 1: написать функцию, добавляющую в конец списка вещественных чисел элемент, значение которого равно среднему арифметическому всех его элементов.
# include < iostream >
# include < list >
using namespace std;
void g (list <double> &lst) {
list < double > :: const_iterator p = lst.begin ();
double s = 0; int n;
while ( p!=lst.end ()) {
s = s+*p; n++; p++;
}
if (n != 0) lst.push_back (s/n); // lst.push_back (s/lst.size());
}
Пример 2: написать функцию, формирующую по заданному вектору целых чисел список из элементов вектора с четными значениями и распечатывающую его.
# include < iostream >
# include < vector >
# include < list >
using namespace std;
void g (vector <int> &v, list <int> &lst) {
int i;
for (i = 0; i < v.size(); i++)
if (!(v[i]%2)) lst.push_back(v[i]);
list < int > :: const_iterator p = lst.begin ();
while ( p!=lst.end ()) {
cout << *p <<endl; p++;
}
}
int main () {
vector < int > v(20); list < int > lst; int i;
for (i=0; i<20; i++) v[i] = i;
cout << "vector is created" <<endl;
g (v, lst);
return 0;
}
Пример 3: написать функцию, формирующую по заданному списку целых чисел вектор из элементов списка с четными значениями и распечатывающую его.
# include < iostream >
# include < vector >
# include < list >
using namespace std;
void g (vector <int> &v, list <int> &lst) {
list < int > :: const_iterator p = lst.begin ();
while ( p!=lst.end ()) {
if (!(*p%2)) v.push_back(*p); p++;
}
for (int i=0; i < v.size(); i++) cout << v[i] <<endl;
}
int main () {
vector < int > v(20); list < int > lst;
for (i=0; i<20; i++) lst.push_back(i);
cout << "list is created" <<endl;
g (v, lst);
return 0;
}
26















