Технология программирования
C++
Главная »
2019 » Октябрь » 1 » Списки 3 Меню
|
#include <iostream>
using namespace std;
struct list
{
int field;
list *ptr;
};
list *init()
{
list *lst;
lst = new list;
int a;
cout<<"Vvedite "; cin>>a;
lst->field = a;
lst->ptr = NULL;
return(lst);
}
void listprint(list *lst)
{
list *p;
p = lst;
do {
cout<<p->field<<" ";
p=p->ptr;
}
while (p!=NULL);
cout<<endl;
}
list *add_end(list *lst)
{
list *p;
p = lst;
while (p->ptr!=NULL)
p=p->ptr;
list *newlst;
newlst = new list;
int a;
cout<<"Vvedite "; cin>>a;
newlst->field = a;
newlst->ptr = NULL;
p->ptr=newlst;
return(lst);
}
list *add_begin(list *lst)
{
list *newlst;
newlst = new list;
int a;
cout<<"Vvedite "; cin>>a;
newlst->field = a;
newlst->ptr = lst;
return(newlst);
}
list *del_begin(list *lst)
{
list *newlst;
newlst = lst;
lst=lst->ptr;
delete newlst;
return(lst);
}
list *del_end(list *lst)
{
list *p;
p = lst;
while (p->ptr->ptr!=NULL)
p=p->ptr;
delete p->ptr;
p->ptr=NULL;
return (lst);
}
int max(list *lst)
{
list *p;
p = lst;
int m=p->field;
while (p!=NULL)
{
if (p->field>m)
m=p->field;
p=p->ptr;
}
return (m);
}
int main()
{
list *lst;
int i;
do {
cout<<"0-exit; 1-init; 2-list; 3-add_begin; 4-add_end;"<<endl;
cout<<"5-del_begin; 6-del_end; 7-search_max; 8-change "<<endl;
cin>>i;
if (i==1) lst=init();
if (i==2) listprint(lst);
if (i==3) lst=add_begin(lst);
if (i==4) lst=add_end(lst);
if (i==5) lst=del_begin(lst);
if (i==6) lst=del_end(lst);
if (i==7) cout<<"max="<<max(lst)<<endl;
} while (i!=0);
system("pause");
}
|
Просмотров: 306 |
Добавил: denjes
| Рейтинг: 0.0/0 |