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

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

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

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

05.10.2013, 21:13. Просмотров 212. Ответов 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");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2013, 21:13     помогите написать функцию слияния списков
Посмотрите здесь:

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

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

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

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

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

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

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

Помогите написать формулу ,никак немогу написать (2k)! в ней - C++
Помогите написать формулу ,никак немогу написать (2k)! в ней

Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя - C++
Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя.

Помогите составить функцию... - C++
Здравствуйте помогите решить задачку..... &quot;Составить функцию, которая будет определять является ли введенное пользователем число n...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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