Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабы / C++.Ашарина / !Сделанные / Lab3 / Var09
.cpp#include<stdlib.h>
#include<iostream.h>
#include<stdio.h>
#include<alloc.h>
int i,n;
struct Spisok
{
int data;
struct Spisok *next;
};
typedef Spisok *Spisok1,*Spisok2,*Spisok3;
Spisok* sozdanie(int);
void sortirovka(Spisok*);
Spisok* sozdanie_spiska(Spisok*,Spisok*);
void vivod(Spisok*);
void main()
{
printf("Vvedite kollichestvo elementov spiska\n");
cin >> n;
Spisok *Spisok1=(Spisok*)sozdanie(n);
printf("Eto pervonachalnie spiski\n");
vivod(Spisok1);
Spisok *Spisok2=(Spisok*)sozdanie(n);
vivod(Spisok2);
sortirovka(Spisok1);
printf("Eto sortirovannie spiski\n");
vivod(Spisok1);
sortirovka(Spisok2);
vivod(Spisok2);
printf("Eto sostavnoi spisok\n");
Spisok *Spisok3=(Spisok*)sozdanie_spiska(Spisok1,Spisok2);
vivod(Spisok3);
}
void vivod(Spisok *Ptr)
{ Spisok *temp=Ptr;
while(temp!=NULL)
{
printf("%d ",temp->data);
temp=temp->next;
}
printf("\n");
printf("\n");
}
Spisok* sozdanie(int a)
{
Spisok *head=NULL,*temp,*tail;
head=(Spisok*)malloc(sizeof(Spisok));
head->data=random(1000);
head->next=NULL;
tail=head;
for(i=0;i<a-1;i++)
{
temp=(Spisok*)malloc(sizeof(Spisok));
temp->data=random(1000);
temp->next=NULL;
tail->next=temp;
temp->next=NULL;
tail=temp;
}
return head;
}
void sortirovka(Spisok *Ptr)
{
Spisok *temp=Ptr,*p,*max;
int m;
while(temp!=NULL)
{
p=temp->next;
max=temp;
while(p!=NULL)
{
if(max->data<p->data)max=p;
p=p->next;
}
m=temp->data;
temp->data=max->data;
max->data=m;
temp=temp->next;
}
}
Spisok* sozdanie_spiska(Spisok *Ptr1,Spisok *Ptr2)
{
Spisok *head1=Ptr1,*head2=Ptr2,*p,*tail2;
p=head2->next;
while(p->next!=NULL)
{
p=p->next;
}
tail2=p;
p=head1->next;
head1->next=head2;
tail2->next=p;
sortirovka(head1);
return head1;
}
Соседние файлы в папке Lab3