Sponsored Content
Top Forums Programming unidirectional linked list pointer problem Post 302594188 by DreamWarrior on Monday 30th of January 2012 07:20:57 PM
Old 01-30-2012
Quote:
Originally Posted by bluetxxth
yes that is exactly what I want. I am going to try to do what you mentioned, althought I am not sure if I understood the part of the special case.

"....have to special case when you want the node to be inserted as the first position in the list. Maybe, in that case, you should pass the p variable as NULL and then check for NULL in dlist_insert and handle it correctly by linking it to the head of l...."

Could you elaborate a bit on that please? Thank you again!
Not really, because I have no idea what the dlist structure looks like. But, I'd guess you have a head pointer in dlist. So:
Code:
if (p == NULL)
{
  newPosition->next = l->head;
  l->head = newPosition;
}
else
{
  newPosition->next=p->next;
  p->next=newPosition;
}

I'm also curious why you're returning p and not newPosition; I'd figure you should probably return the node you just inserted...no?

At this point, I think this may be the extent to which I can assist. At this very basic level, it smacks of your being in an algorithms class. At which point, I'm wondering if this isn't homework. I don't want to be a jerk, but if you're going to succeed in this industry, you will eventually need to have these basics figured out. So, before I assist any more, I want to see a little more thought put in by yourself. You can get there....
 

10 More Discussions You Might Find Interesting

1. Programming

Reverse single linked list

Can any one help me in reversing the single linked list and at the same time i want to print the reversed links. (2 Replies)
Discussion started by: dhanamurthy
2 Replies

2. 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

3. 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

4. Programming

shared memory with linked list??

is this possible, if so plz please share with me.. Correct English please, not Cyber-/Leetspeak (11 Replies)
Discussion started by: vijay_manpage
11 Replies

5. 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

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

How to check if something exists in linked list in C?

i have a linked list set up like typedef struct client_list { char *client_name; int client_socket_fd; struct client_list *next; } client; client *client_list=NULL; before adding to the list i check if it already exists, only if it does not then i add if (client_list==NULL... (1 Reply)
Discussion started by: omega666
1 Replies

8. 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

9. 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

10. 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
UList(3U)						    InterViews Reference Manual 						 UList(3U)

NAME
UList - circular, doubly-linked list class SYNOPSIS
#include <Unidraw/ulist.h> DESCRIPTION
UList implements a circular, doubly-linked list. The sentinel and each entry in the list are instances of the UList class, each containing a void pointer to the data they contain as well as pointers to the next and previous UList instance in the list. The sentinel UList instance is considered to represent the list. PUBLIC OPERATIONS
UList(void* = nil) Create a new UList instance, optionally supplying the value for the void pointer it stores. virtual ~UList() Delete the entire list. Normally the sentinel, which represents the list, is the entry that is deleted explicitly. Note that the data on the list, stored as void*'s, cannot be deleted in this manner. void Append(UList*) void Prepend(UList*) When performed on the sentinel, Append appends an element to the end of the list and Prepend prepends it to the beginning of the list. When performed on a UList instance other than the sentinel, Append has the effect of inserting its argument before the instance, while Prepend has the effect of inserting it after the instance. void Remove(UList*) Unlink the specified UList instance from the list it is in. The object on which this operation is called is irrelevant. void Delete(void*) Find the UList instance in this list containing the given void pointer, remove it from the list it is in, and delete it. UList* Find(void*) Return the UList instance in this list containing the given void pointer. UList* First() UList* Last() UList* End() UList* Next() UList* Prev() Return various UList instance in the list relative to this, i.e., as if it were the sentinel. End returns the sentinel (this) and is useful for detecting the end of an iteration through the list; the other operations are self-explanatory. boolean IsEmpty() Return whether or not the list has any elements. void* operator()() Return the void pointer that the UList stores. UList* operator[](int i) Return the ith UList in the list, where the next element is the first, etc. Unidraw 3 October 1990 UList(3U)
All times are GMT -4. The time now is 07:42 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy