Главная » 2019 » Октябрь » 1 » Списки 3 Меню
11:08
Списки 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
Всего комментариев: 0
avatar