Skip to content

Commit b2f40db

Browse files
optimizing some code snippets
1 parent 02da064 commit b2f40db

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

C/Data-Structures/LinkedList/CircularDoublyLinkedList.c

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,11 @@ List *deleteBegin(List *list)
131131
{
132132
if (list != NULL)
133133
{
134-
if(length(list) == 1)
134+
// one node case
135+
if(list == list->next)
135136
return NULL;
137+
138+
// general case
136139
else
137140
{
138141
List *tmp = list;
@@ -149,8 +152,11 @@ List *deleteEnd(List *list)
149152
{
150153
if (list != NULL)
151154
{
152-
if (length(list) == 1)
155+
// one node case
156+
if (list == list->next)
153157
return NULL;
158+
159+
// general case
154160
else
155161
{
156162
List *tmp = list->prev;
@@ -166,8 +172,11 @@ List *deleteAfter(List *list, double value)
166172
{
167173
if (list != NULL)
168174
{
169-
if (length(list) == 1)
175+
// one node case
176+
if (list == list->next)
170177
return NULL;
178+
179+
// general case
171180
else
172181
{
173182
List *prior = list;
@@ -318,6 +327,11 @@ void example()
318327
display(my_list);
319328

320329
printf("\n%d\t%d", search(my_list, 100), search(my_list, 0));
330+
331+
my_list = deletePos(my_list, 1);
332+
display(my_list);
333+
334+
printf("\n%d\t%d", search(my_list, 100), search(my_list, 0));
321335
}
322336

323337
int main()

0 commit comments

Comments
 (0)