Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
SirAsgard
1 / 1 / 0
Регистрация: 20.04.2012
Сообщений: 46
1

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

08.12.2012, 22:32. Просмотров 544. Ответов 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 нужно играться..
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 22:32
Ответы с готовыми решениями:

Вывести содержимое списка в следующем порядке: первый элемент, последний элемент, второй элемент, предпоследни
#include &lt;iostream&gt; #include &lt;list&gt; #include &lt;iterator&gt; void output(std::list&lt;int&gt; myList,...

Продублировать в списке первый положительный элемент (если такого нет - оставить список без изменения)
создать линейный однонаправленный список из вещественных чисел. продублировать в списке первый...

Определить первый атом в списке, а если такого в списке нет, вывести nil
Помогите с написанием функции на lisp. 1. Функция которая определяет первый атом в списке, а если...

Покрасить первый элемент в выпадающем списке
В общем у меня есть спиннер. Когда загружаю его выглядит как на скрине. Все отлично красит в...

1
Wolkodav
619 / 473 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
08.12.2012, 22:41 2
Эмм, ну один из вариантов перегрузить []. Ну типо, вывести 10 элемент. Да кстати удобно в таком случае хронить кол-во элементов в списке( ну просто поле создать, когда вызывается конструктор ++ и все). Ну и проверяешь если номер элемента <кол-во элементов (т.к. нумерация с нуля) то идёшь по списку( ну там for, переходишь к следующему) иначе выход. Что-то типо такого.
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2012, 22:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как удалить первый элемент в списке?
#define _CRT_SECURE_NO_WARNINGS #include &lt;stdio.h&gt; #include &lt;stdio.h&gt; // Директива для...

Если первый элемент в списке нечётный, то сортировать элементы на чётных местах, иначе – на нечётных
Хочу написать сразу: Встроенные функции Python использовать нельзя! С def_main и main ! Не в...

Дан указатель P1 на первый элемент непустого двусвязного списка Продублировать в списке все элементы с нечетными значениями
Дан указатель P1 на первый элемент непустого двусвязного списка Продублировать в списке все...

Вывести первый положительный элемент и последний отрицательный элемент последовательности
Ребят здесь такой вопрос... точнее задачи, кто может помочь мне решить их? Самостоятельно немогу...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.