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

Обьединить 2 сортированных списка в один,чередуя элементы первого и второго - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести массив змейкой(три вида) http://www.cyberforum.ru/cpp-beginners/thread592504.html
Привет всем.Помогите решить задачки по змейкам.В приложении лежит 3 варианта как надо сделать. Вариант а и в удалось найти у вас на форуме. Задача стоит такова: Обнулить массив и заполнить его единицами в той последовательности, что указанно в вариантах, а потом все это вывести в консоли именно так как на вариантах. Вывести мне удалось по спирали, но выводит он не по варианту. Если есть у...
C++ Интерполяционный поиск В общем есть структура срок. Нужно организовать интерполяционный поиск. Как будет алгоритм выглядеть? Если бы поле структуры было бы цифрой, то все понятно, но у меня это срока символов. Запутался. http://www.cyberforum.ru/cpp-beginners/thread592478.html
C++ Компилирование
Microsoft Visual C++ 2010 Express, оконное приложение windows forms. Какие настройки нужно выставить в компиляторе что бы приложение можно было запускать на других компьютерах под всеми системами семейства оконных (под всеми windows)?
C++ как работает метод vec.clear()
Вот я тут читаю книгу по stl библиотеку про вектора, списки, очереди. Тут у меня возник вопрос, помогите плиз. Есть допустим vector<int> vec, в него мы поместили 1000000 штук int чисел, затем допустим мы сочли, что они нам больше не нужны, мы из удаляем, затем добавляем 1000000000 штук int чисел и т.д. Вопрос в том, что как лучше всего освобождать вот этот вектор, чтоб оперативную память не...
C++ Моделирование случайных величин http://www.cyberforum.ru/cpp-beginners/thread592461.html
Смоделировать бросание игрального кубика (т.е. с помощью датчика случайных чисел получить одно из целых чисел 1, 2, .... 6) каждым из двух игроков. Определить, кто из игроков получил на кубике больше очков. Помогите пожалуйста... ) C++ или C#
C++ error LNK2001 и глобальные переменные класса Всем доброго дня! В программе есть класс, целиком описанный в .h файле. Структура, приблизительно, такая: //test.h class tC { public: tC() { } подробнее

Показать сообщение отдельно
kirill0000
0 / 0 / 0
Регистрация: 28.12.2010
Сообщений: 22
31.05.2012, 16:29     Обьединить 2 сортированных списка в один,чередуя элементы первого и второго
Обьединить 2 сортированных списка в один,чередуя элементы первого и второго сортированного списка.
У меня есть похожее,но как переделать я не знаю.Вот программа,которая обьединяет 2 списка в один,в котором второй стоит перед первым.
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
#include <iostream> 
#include <cstdlib> 
#include <ctime> 
using namespace::std; 
struct node 
{ 
 double num;     //Описание структуры список 
 node *next; 
}; 
node* toList(node* head ,double num)   //Функция добавления и сортировки списка 
 { node* pv=new node; 
  pv->num=num; 
  pv->next=0; 
  if (head) 
  {  node* cur=0; 
     if(head->num> pv->num) 
      {     pv->next=head; 
    head=pv; 
       } 
   else 
    {  cur=head; 
       while((cur->next) && (cur->next->num < pv->num)) 
       cur=cur->next; 
       pv->next=cur->next; 
       cur->next=pv; 
     } 
   } 
else head=pv; 
return head; 
} 
node* toListUnsort(node* head ,double num)   //Функция добавления в конец списка 
{ 
  node* pv=new node; 
  pv->num=num; 
  pv->next=0; 
  if (head) 
 { 
  node* cur=0; 
  cur=head; 
       while(cur->next) 
       cur=cur->next; 
       pv->next=cur->next; 
       cur->next=pv; 
 } 
 else head=pv; 
return head; 
} 
void printList(node* pv)    //Функция вывода на экран 
{ 
  if (!pv) 
    cout<<"\nСпикок пуст\n";  //Проверка на пустоту списка 
  else 
    while(pv!=NULL) 
   { 
     cout<<pv->num<<" "; 
     pv=pv->next; 
    } 
 } 
int main()                       
{ 
 setlocale(LC_ALL,"Russian_Russia.1251");
 srand(time(0));//Инициализируем счётчик псевдослучайных чисел 
 double n; 
 node *head1=0; 
 node *head2=0; 
 cout<<"\nВведите количество элементов первого списка: "; 
 cin>>n; 
  for (int i=1;i<=n;i++) 
 { 
   head1= toList(head1 ,rand()%100); 
  } 
 cout<<"\nВведите количество элементов второго списка: "; 
 cin>>n; 
  for (int i=1;i<=n;i++) 
 { 
   head2= toList(head2 ,rand()%100); 
  } 
 cout<<"\nЭлементы первого списка: ";  
 printList(head1); cout<<endl; 
 cout<<"\nЭлементы второго списка: "; 
 printList(head2); cout<<endl; 
 while(head1!=NULL)
{ 
 head2=toListUnsort(head2,head1->num); 
 head1=head1->next; 
} 
 cout<<"\nСписок(хвост второго к голове первого): "; // 
 printList(head2); 
 cout<<endl; 
 return 0; 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru