Linear linked list node delete


 
Thread Tools Search this Thread
Top Forums Programming Linear linked list node delete
# 8  
Old 08-10-2010
Of course; that's the impractical bit of the question. The vague part is that they don't tell us whether it's doubly linked. Even in a doubly-linked list you'll hit a similar problem when n's the only node in the list though.
# 9  
Old 08-11-2010
True.
Its failling with even doubly linked when N == 1, making the list-pointer itself a dangling one.
# 10  
Old 08-11-2010
Always check whether N+1 node is Null before doing any logic.
# 11  
Old 08-12-2010
Quote:
Originally Posted by tene
Always check whether N+1 node is Null before doing any logic.
Even though you know that N+1 == NULL; what you can do in the same algorithm to protect node pointer at (N - 1) from becoming a dangling pointer ?

Apart how would your function written besed on that algorithm would ever know that N == 1; and how you would protect the list-pointer pointing to the first node from becoming dangling?

A similar algorithm holds trure in binary tree node deletion; wherein the data is copied from the leaf node which is located on the branch one move either left or right of the node to be deleted logically and the actual deletion happens at the leaf node whose data is copied. This alters the data organisation but preserves the properties of the tree.

But moreover this worked there because of the deletion always happen at the leaf node and is travelled (this travel is missing in your algorithm) to be found via the entire branch and while the travel you pass through the second last node whose pointer you get and this node doesn't become a dangling one.

The TRAVEL is important.
# 12  
Old 08-16-2010
But the question was how to delete the node you are currently in.
So there is no point in thinking of other consequences, because you cant do anything to node N-1 when you are in Nth node.

This interview question just tests your logical thinking not the algorithm efficiency.
# 13  
Old 08-16-2010
There's plenty of reason to think about consequences, but we've already been over most of those.
# 14  
Old 08-20-2010
Quote:
Originally Posted by tene
But the question was how to delete the node you are currently in.
So there is no point in thinking of other consequences, because you cant do anything to node N-1 when you are in Nth node.

This interview question just tests your logical thinking not the algorithm efficiency.
If consequences are not to be thought, a deletion of a node is as simple as free(node_ptr).
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

How to reverse a linked list by traversing only once.?

Program to reverse a linked list by traversing only once. (1 Reply)
Discussion started by: VSSajjan
1 Replies

2. Programming

How to delete the last node in a linked list.?

How to delete the last node in a single linked list given only the pointer to last node ? Head node will not be given. (5 Replies)
Discussion started by: VSSajjan
5 Replies

3. Programming

Help with linked list.

#include<stdio.h> #include<stdlib.h> struct LinkedList { int val; struct LinkedList *next; }node; /*Creating a structure variable*/ typedef struct LinkedList Node; Node *start = NULL; int create(int i) { Node *temp = NULL; if (start == NULL) ... (5 Replies)
Discussion started by: prinsh
5 Replies

4. UNIX for Advanced & Expert Users

Unix linked-list placement

Hi, I am programming in kernel, and I want to use a double linked list that holds infos that every process could access and modify THIS list. So, I suppose it is a 'global' variable since every process(thread) can reach it, I am wondering where to put it? by changing some of the kernel files? (1 Reply)
Discussion started by: louisTan
1 Replies

5. Programming

how do edit a node in a singly linked list in C?

If i have a linked list in C, how do I edit a node in it? Without ruining the whole list, by this i mean end up making it null or circular... (since it has to be linear and has to stop somewhere):wall: Can some one provide an example, making it have like 5 nodes, and then edit a string of the... (3 Replies)
Discussion started by: omega666
3 Replies

6. Programming

Help with linked list in C

i have this code typedef struct client_list { char *client_name; struct client_list * next; int client_socket_fd; } client; client *current, *head; head = NULL; char *h="test"; add_client(current, h, head, &client_socket_fd); ... (24 Replies)
Discussion started by: omega666
24 Replies

7. Programming

c++ function to convert a linear list to circular list

hi all, i need a c++ function which converts a linear list to circular. presently i am working with two files. i.e., one linear list file. and one circular list file to do some operations. i thought it will be helpful if there is a function that converts a linear list to circular n undo the... (1 Reply)
Discussion started by: vidyaj
1 Replies

8. Programming

I need C++ Code for single linked list

I need C++ Code for single linked list With operations as 1)insert at any position 2)delete any 3)change the data of any position (2 Replies)
Discussion started by: girija
2 Replies

9. Programming

linked list node with pointer to struct

Suppose to have: struct Tstudent { string name, surname; int matriculation_num; }; struct Tnode { Tstudent* student; Tnodo* next; } L;I want to deference that "student" pointer. For example, I tried with: *(L->student).matriculation_numbut it not worked, as terminal... (4 Replies)
Discussion started by: Luke Bonham
4 Replies

10. UNIX for Dummies Questions & Answers

List linked files

A perl script that displays the list of files which have multiple links..! ls -l shows number of links in a field. (0 Replies)
Discussion started by: aadi_uni
0 Replies
Login or Register to Ask a Question