Форум программистов, компьютерный форум CyberForum.ru

Вывести первый элемент в списке - C++

Восстановить пароль Регистрация
 
SirAsgard
1 / 1 / 0
Регистрация: 20.04.2012
Сообщений: 46
08.12.2012, 22:32     Вывести первый элемент в списке #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
 
template<class T> class List
{
public:
        List()
        {
              head=NULL;
              tail=NULL;
        };        
        ~List()
        {
                while(head)
                {
                    tail=head->next;
                    delete head;
                    head=tail;
                }
        }
 
        void push_back(T val)
        {
                Node* Temp;
                Temp=new Node;
                Temp->elem=val;
                if(head==0)
                {
                        head=Temp;
                        tail=Temp;
                        return;
                }
                tail->next=Temp;
                tail=Temp;
        }
 
        void print()
        {
                if (head==0)
                {
                        cout << "List is empty!";
                }
                for(Node* ptr=head; ptr!=0; ptr=ptr->next)
                {
                        cout<<ptr->elem<<" ";
                }
                cout<<"\n";
        }
 
       
 void push_front(T val)
        {
                Node* Temp;
                Temp=new Node;
                Temp->elem=val;
                Temp->next=head;
                head=Temp;
        }
 
 
        void find(T val)
        {
                if(head==0)
                {
                        cout <<  "List is empty!\n";
                }
                for(Node* ptr=head; ptr!=0; ptr=ptr->next)
                {
                        if(ptr->elem=val)
                                cout<<"Element "<< val <<" is found\n";
                        return;
                }
                cout<<"Element "<< val <<" is not found\n";
        }
        
        void insert(T val)
        {
                if(head==0)
                {
                        push_front(val);
                        return;
                }
                Node* Temp=new Node;
                Temp->elem=val;
                Node* founded=head;
                for(founded; founded!=0; founded=founded->next)
                {
                        if(founded->elem<val)
                                break;
                }
                if(founded==0)
                {
                        push_front(val);
                        return;
                }
                Temp->next=founded->next;
                founded->next=Temp;
        }
private:
        struct Node
        {
                Node()
                {
                 next=0;
                 elem=0;
                }
                Node* next;
                T elem;
        };
 
        Node* head;
        Node* tail;
};
 
 
int main()
{
        List<int> Lst;
        Lst.push_front(5);
        Lst.push_back(10);
        Lst.push_back(15);
        Lst.push_front(1);
        Lst.push_back(25);
        Lst.push_back(4);
        Lst.print();
        Lst.find(15);
        Lst.print();
        getch();
        return 0;
}
Осталось вывести первый элемент. Подскажите саму реализацию. Что-то со front нужно играться..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 22:32     Вывести первый элемент в списке
Посмотрите здесь:

C++ В списке целых чисел поменять местами max элемент и min элемент
C++ вывести первый ненулевой элемент в строке
C++ Массивы. Первый элемент массива 1 умножить на все элементы массива 2 и вывести результат...
Вывести на печать первый отрицательный элемент массива и его порядковый номер C++
Строки. Как найти в слове первый элемент? Второй элемент, последний элемент? C++
Структура "Информация": - носитель; - объем; - название; - автор. Удалить первый элемент с заданным объемом информации, добавить элемент перед элемент C++
C++ Поменять в списке местами первый минимальный и последний максимальный элементы
C++ Найти максимальный элемент и заменить им первый элемент строки в двумерном массиве

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
08.12.2012, 22:41     Вывести первый элемент в списке #2
Эмм, ну один из вариантов перегрузить []. Ну типо, вывести 10 элемент. Да кстати удобно в таком случае хронить кол-во элементов в списке( ну просто поле создать, когда вызывается конструктор ++ и все). Ну и проверяешь если номер элемента <кол-во элементов (т.к. нумерация с нуля) то идёшь по списку( ну там for, переходишь к следующему) иначе выход. Что-то типо такого.
Yandex
Объявления
08.12.2012, 22:41     Вывести первый элемент в списке
Ответ Создать тему
Опции темы

Текущее время: 01:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru