Linked List Sorting with Strings In C

Posted by user308583 on Stack Overflow See other posts from Stack Overflow or by user308583
Published on 2010-04-04T16:26:10Z Indexed on 2010/04/04 16:33 UTC
Read the original article Hit count: 303

Filed under:
|
|
|
|

I have a struct, with a Name and a single Node called nextName

It's a Singly Linked list, and my task is to create the list, based on alphabetical order of the strings.

So iff i enter Joe Zolt and Arthur i should get my list structured as

Joe

Than

Joe Zolt

Than

Arthur Joe Zolt

I'm having trouble implementing the correct Algorithm, which would put the pointers in the right order.

This is What I have as of Now. Temp would be the name the user just entered and is trying to put into the list, namebox is just a copy of my root, being the whole list

 if(temp != NULL)
      {
              struct node* namebox = root;
              while (namebox!=NULL && (strcmp((namebox)->name,temp->name) <= 0))
              {
                      namebox = namebox->nextName;
                      printf("here");
                 }
                temp->nextName = namebox;
    namebox = temp;
    root = namebox;

This Works right now, if i enter names like CCC BBB than AAA

I Get Back AAA BBB CCC when i print

But if i put AAA BBB CCC , When i print i only get CCC, it cuts the previous off.

© Stack Overflow or respective owner

Related posts about strings

Related posts about lists