Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
17.04.2013
Размер:
1.99 Кб
Скачать
#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