DIR Return Create A Forum - Home
---------------------------------------------------------
Class Discussion
HTML https://srm.createaforum.com
---------------------------------------------------------
*****************************************************
DIR Return to: Data Structure
*****************************************************
#Post#: 6--------------------------------------------------
Node Delete (Data Structure)
DIR By: prannyll
Date: April 18, 2019, 7:15 am
---------------------------------------------------------
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void vnode(); void dnode();
int count = 0, ch, n = 5;
typedef struct node{
int data;
struct node *next;
}t;
t* temp;
t* head;
t* ptr;
void main()
{
int i;
clrscr();
for(i = 1; i <= n; i++)
{
t* ptr = (t*)malloc(sizeof(t*));
t* ptr2 = (t*)malloc(sizeof(t*));
ptr->data = i;
ptr->next = ptr2;
if(i == n)
ptr->next = NULL;
free(ptr2);
count++;
if(count == 1)
head = ptr;
printf("\n (%d) MAIN: %u DATA: %d NEXT: %u",i, ptr,
ptr->data, ptr->next);
}
printf("\n ------------------ %d NODES
------------------\n", count);
dnode();
getch();
}
//FUNCTION FOR VIEWING NODES
void vnode()
{
int i;
ptr = head;
printf("\n
_____________________________________________\n");
for(i = 1; i<=count; i++)
{
printf("\n (%d) MAIN: %u DATA: %d NEXT: %u",i, ptr,
ptr->data, ptr->next);
ptr = ptr->next;
}
printf("\n ------------------ %d NODES
------------------\n", count);
}
//FUNCTION FOR DELETING NODE
void dnode()
{
int i;
printf("\n Which node you want to remove?\n >>");
scanf("%d", &ch);
if(ch == 1)
{
printf("\n NODE REMOVED! \n MAIN: %u DATA: %d NEXT:
%u", head, head->data, head->next);
head=head->next;
temp = head;
count--;
vnode();
}
else
{
temp = head;
for(i = 1; i<=ch-2; i++)
{
temp = temp->next;
}
printf("\n NODE REMOVED! \n MAIN: %u DATA: %d NEXT:
%u", temp->next, (temp->next)->data, (temp->next)->next);
temp->next = (temp->next)->next;
count--;
vnode();
}
}
*****************************************************
Page 1 of 1