Untitled
gulamsakaria2025
plain_text
8 months ago
3.1 kB
3
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