Добавил:
kipetilnik
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Организанция ОДС
.txt#include <iostream>
#include <stdio.h>
using namespace std;
#include <math.h>
#include <string.h>
#include <conio.h>
struct List
{
int data;
List *Next;
}*Head;
void add_head(int a,List **Head)
{
if(!(*Head))
{
(*Head)= new List();
(*Head)->data=a;
(*Head)->Next=NULL;
}
else
{
List *Elem1;
Elem1= new List();
Elem1->data=a;
Elem1->Next=NULL;
Elem1->Next=(*Head);
(*Head)=Elem1;
}
}
void add_last(int a,List **Head)
{
List *Elem1; //1
Elem1= new List();
Elem1->data=a;
Elem1->Next=NULL;
//2
List *Head2=(*Head);
while(Head2->Next!=NULL)
{
Head2=Head2->Next;
}
Head2->Next=Elem1;
}
int get_head(List **Head)
{
int a=(*Head)->data;
(*Head)=(*Head)->Next;
return a;
}
int get_last(List **Head)
{
int a;
List *Head2=(*Head);
while(Head2->Next->Next!=NULL)
{
Head2=Head2->Next;
}
a=Head2->Next->data;
Head2->Next=NULL;
return a;
}
int count_List(List **Head)
{
if(!(*Head)) return 0;
else
{
int i=1;
List *Head2=(*Head);
while(Head2->Next!=NULL)
{
Head2=Head2->Next;
i++;
}
return i;
}
}
void main()
{
cout<<"Count "<<count_List(&Head)<<endl;//0
add_head(1,&Head);
add_head(2,&Head);
add_head(3,&Head);
add_head(4,&Head);
add_last(5,&Head);
cout<<"Count "<<count_List(&Head)<<endl;//5
cout<<get_last(&Head)<<endl; //5
cout<<get_last(&Head)<<endl; //1
cout<<"Count "<<count_List(&Head)<<endl;//3
system("pause");
}
Соседние файлы в предмете Объектно ориентированное программирование