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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Laurensii
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 4
#1

помогите написать функцию слияния списков - C++

05.10.2013, 21:13. Просмотров 216. Ответов 0
Метки нет (Все метки)

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
133
134
135
#include <iostream>
#include <conio.h>
using namespace std;
 
struct Node
{
 
    int a;
    Node *next;
    Node(int a1){
        a=a1;
        
        next=NULL;
    }
};
class List
{ 
public:
    Node *top;
    List();
    void vvod(Node *pNext);//dobavlenie v konec spiska
    Node * Psl();//poisk poslednego el-ta v spiske
    void vivod();
    void sort(int k);
    Node *elm(int n, int m);//element spiska po nomeru
    
};
List::List(){
    top=NULL;
}
void List::vvod(Node *pNext)
{
    if(top!=NULL){
        Psl()->next=pNext;
    }
    else{
        top=pNext;
    }
}
Node * List::Psl(){
    Node * Odn = top;
    if(Odn == NULL){
        return NULL;
    }
    while(Odn->next!=NULL){
        Odn=Odn->next;
    }
    return Odn;
}
void List::vivod(){
    Node *t=top;
    if(t==NULL){
        cout<<"spisok pust"<<endl;
    }
    do{
        cout<<t->a<<"->";
    }
    while((t=t->next)!=NULL);
}
void List::sort(int k)
{
    for(int i=0;i<k;i++){
        for(int j=k-1;j>i;j--)
            if(elm(j,k)->a<elm(j-1,k)->a)
            {
                int b;
                b=elm(j,k)->a;
                elm(j,k)->a=elm(j-1,k)->a;
                elm(j-1,k)->a=b;
                
            }
            
        }
    }
 
 
 
Node * List::elm(int n, int m){
    Node *t=top;
    if(t==NULL||n>m-1){
        return NULL;
    }
    for(int i=0;i<m;++i){
        if(i==n){
            return t;
        }
        t=t->next;
    }
    return NULL;
    
}
 
void main(){
    List list1, list2, list;
    Node *node, *x;
    int l, k;
    int a, b;
    cout<<"kol-vo el-v v spiske 1: ";
    cin>>l;
    cout<<endl;
    cout<<"Enter spis 1: ";
    for(int i = 0; i<l; i++)
    {
        
        cin>>a;
        node = new Node(a);
        list1.vvod(node);
    }
        cout<<"kol-vo el-v v spiske 2: ";
        cin>>k;
        cout<<endl;
        cout<<"Enter spis 2: ";
        for(int i=0; i<k;++i){
            cin>>b;
            node =new Node(b);
            list2.vvod(node);
            
        }
        
        list1.vivod();
        cout<<endl;
        list2.vivod();
        cout<<endl;
        list1.sort(l);
        cout<<endl;
        list2.sort(k);
        cout<<endl;
        list1.vivod();
        cout<<endl;
        list2.vivod();
        cout<<endl;
        
 
        system("pause");
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2013, 21:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос помогите написать функцию слияния списков (C++):

Сортировка посредством слияния списков - C++
Помогите пожалуйста написать алгоритм сортировки посредством слияния списков

Решить задачу слияния 2 списков по какому-либо условию - C++
4.Решить задачу слияния 2 списков по какому-либо условию. Например, к концу очереди добавить список, добавить список к началу стэка или из...

Помогите написать рекурсивную функцию - C++
нужно написать рекурсивную функцию, которая определяет произведение введенных негативных действительных чисел х (условием завершения...

Составить функцию конкатенации (слияния) двух строк - C++
составить функцию конкатенации (слияния) двух строк.в основной програме использовать эту функцию для слияния четырех строк.

Написать программу для сортировки массива способами шелла вставки слияния и пузырьком - C++
Написать программу для сортировки массива способами шелла вставки слияния и пузырьком в одной программе со всеми операторами и объяснением...

Передача вектора списков в функцию и взаимодействие с ним - C++
Почему это не работает? #include &lt;fstream&gt; #include &lt;vector&gt; #include &lt;list&gt; using namespace std; ifstream in...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2013, 21:13
Привет! Вот еще темы с ответами:

написать функции для списков c++/c - C++
1. для удаления всех элементов с четными номерами из односвязного списка 2. для добавления нового элемента в двусвязный список перед...

Написать функцию, которая, в зависимости от выбора пользователя вызывает соответствующую функцию - C++
Помогите, что то я не могу понять задачи, даже не знаю с чего начать)))) 5. Написать функцию, которая, в зависимости от выбора...

Написать функцию, которая могла бы передать значение в другую функцию - C++
как сделать функцию которая бы могла передать значеие в другую функцию ну к примеру a=4*b; где b=sin(fi);

Написать функцию, которая, в зависимости от выбора пользователя вызывает функцию сложения, произведения - C++
Кто знает как можно решить эту задачу на С++? Написать функцию, которая, в зависимости от выбора пользователя вызывает функцию сложения,...


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

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

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