Untitled
gulamsakaria2025
plain_text
2 months ago
3.1 kB
2
Indexable
#include<bits/stdc++.h> using namespace std ; class node { public : int val ; node* next ; node(int val){ this->val = val ; this->next = NULL ; } }; void print_linklist(node* &head){ node* tmp = head ; while(tmp != NULL){ cout << tmp->val << " "; tmp = tmp->next ; } cout << "NULL" << endl ; } void input_node(node* &head, node* &tail){ int a ; cin >> a ; for ( int i = 0 ; i < a ; i++){ int val ; cin >> val ; node* newnode = new node(val); if (head == NULL){ head = newnode ; tail = newnode ; } tail->next = newnode ; tail = tail->next ; } } void input_head (node* &head){ int val ; cin >> val ; node* newnode = new node(val); newnode->next = head ; head = newnode ; } void input_tail(node* &head, node* &tail){ int val ; cin >> val ; node* newnode = new node(val); if (head == NULL){ head = newnode ; tail = newnode ; return ; } tail->next = newnode ; tail = tail->next ; } void input_any_pos(node* &head){ int val , idx ; cin >> val >> idx ; node* newnode = new node(val); node* tmp = head ; for ( int i = 1 ; i < idx ; i++){ tmp = tmp->next ; } newnode->next = tmp->next ; tmp->next = newnode ; } void delete_head(node* &head){ node* deletenode = head ; head = head->next ; delete deletenode ; } void delete_any_pos ( node* &head ){ int idx ; cin >> idx ; node* tmp = head ; for ( int i = 1 ; i < idx ; i++){ tmp = tmp->next ; } node* deletenode = tmp->next ; tmp->next = tmp->next->next ; delete deletenode ; } int main (){ node* head = NULL ; node* tail = NULL ; input_node(head, tail); cout << "Input Head : " ; input_head(head); print_linklist(head); cout << "Input tail : " ; input_tail(head , tail); print_linklist(head); cout<< "Input Index & val : "; input_any_pos(head); print_linklist(head); cout << "Delete head : "; delete_head(head); print_linklist(head); cout << "Input Index number for delete : "; delete_any_pos(head); print_linklist(head); }
Editor is loading...
Leave a Comment