Главная » 2018 » Апрель » 24 » Списки. Удаление первого и последнего элемента.
09:27
Списки. Удаление первого и последнего элемента.

#include <iostream>
using namespace std;
struct elem
{
    int info; 
    elem *next;
};
elem *vvod(elem *ptr);
elem *insert_begin(elem *ptr, int a);
elem *delete_begin(elem *ptr);
elem *delete_end(elem *ptr);
void print(elem *ptr);

int main()
{    
    setlocale(LC_ALL, "Russian");
    elem *head=NULL;
    head=vvod(head);
    cout<<"Список: ";
    print(head);
    head=delete_begin(head);
    cout<<"Список новый без первого элемента: ";
    print(head);
    head=delete_end(head);
    cout<<"Список новый без последнего элемента: ";
    print(head);
    system("pause");
    return 0;
}
elem *vvod(elem *ptr)
{
    int a;
    cout<<"Введите элементы списка "<<endl;
    cin>>a;
    while (a)
    {
        ptr=insert_begin(ptr,a);
        cin>>a;
    }
    return ptr;
}
elem *insert_begin(elem *ptr, int a)
{
    elem *temp;
    temp=new elem;
    temp->info=a;
    temp->next=ptr;
    return temp;
}
elem *delete_begin(elem *ptr)
{
    elem *temp=ptr;
    ptr=ptr->next;
    delete temp;
    return ptr;
}
elem *delete_end(elem *ptr)
{
    elem *temp=ptr;
    while (temp->next->next != NULL)
        temp=temp->next;
    delete temp->next;
    temp->next=NULL;
    return ptr;
}
void print(elem *ptr)
{
    elem *temp;
    temp=ptr;
    while (temp!=NULL)
    {
        cout<<temp->info<<" ";
        temp=temp->next;
    }
    cout<<endl;
}

 

Просмотров: 359 | Добавил: denjes | Рейтинг: 0.0/0
Всего комментариев: 0
avatar