Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
31
Добавлен:
17.04.2013
Размер:
1.34 Кб
Скачать
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

struct list
{
	int info;
	list *next;
};

void New(list* &head, list* &tail)
{
	head=new list;
	head->info=random(10);
	head->next=NULL;
	tail=head;
}

void Add(list* &tail)
{
	list *T;

	T=new list;
	T->info=random(10);
	T->next=NULL;
	tail->next=T;
	tail=T;
}

void Insert(list *head, list* &tail, int l1, int l2)
{
	list *T, *P;
	int p=0;

	T=new list;
	T=head;
	while (T!=tail)
	{
		if ((T->info==l1) && (p!=1))
		{
			P=new list;
			P->info=l2;
			P->next=T->next;
			T->next=P;
			p=1;
		}
		else
			p=0;
		T=T->next;
	}
	if (tail->info==l1)
	{
		P=new list;
		P->info=l2;
		P->next=NULL;
		tail->next=P;
		tail=P;
	}
}

void Print(list *head, list *tail)
{
	list *T;

	T=new list;
	T=head;
	while (T!=tail)
	{
		printf("%d ",T->info);
		T=T->next;
	}
	printf("%d ",tail->info);
}

void main()
{
	clrscr();
	randomize();

	list *head, *tail;
	int i, n, l1, l2;

	printf("\nEnter number of elements: ");
	scanf("%d",&n);
	New(head,tail);
	for (i=1;i<=n-1;i++)
		Add(tail);
	printf("Your list: ");
	Print(head,tail);
	printf("\nEnter l1: ");
	scanf("%d",&l1);
	printf("Enter l2: ");
	scanf("%d",&l2);
	Insert(head,tail,l1,l2);
	printf("New list:  ");
	Print(head,tail);

	getch();
}
Соседние файлы в папке Lab3