Question

I am losing elements when I sort my Linked List. How can I sort my Linked...

I am losing elements when I sort my Linked List. How can I sort my Linked list in alphabetical order?

Code:

void sort(Node *head)
{

Node* temp = head;
Node* tempAhead = temp -> next;
Node* buff1 = temp;
Node* buff2 = tempAhead;

while (temp -> next != NULL) {

while (tempAhead -> next != NULL) {

if (strcmp(temp -> name, tempAhead -> name) < 0) {

buff1 -> next = temp -> next;
buff2 -> next = tempAhead -> next;

temp -> next = tempAhead -> next;
tempAhead -> next = buff1 -> next;
}

tempAhead = tempAhead -> next;
}

temp = temp -> next;
}
}

OUTPUT WITHOUT sort():

chip
plat
num
quo
koa

OUTPUT WITH sort():

chip
koa

0 0
Add a comment Improve this question Transcribed image text
Answer #1

Answer:-(you have to use #include<string.h>)

Using Selection sort i.e finding minimum element from unsortedsub list and adding it to the already sorted sublist.

void sort(Node *head)
{
Node* temp = head; //used to keep track of the current node(node after already sorted sublist)

   // Traverse the List to find the element with minimum value ahead of temp node(including current temp node)i.e minimum in remaining unsorted sublist.
   while (temp!=NULL) {
Node* minimum = temp; //used to find the minimum.
Node* tempAhead = temp->next; //used to traverse the remaining unsorted sublist to find the minimum.

       // Traverse the unsorted sublist
       while (tempAhead!=NULL) {
           if (minimum->name > tempAhead->name)
               minimum = tempAhead;

tempAhead = tempAhead->next;
       }

       // Swap Data i.e swapping current temp node with the value of minimum in the unsorted sublist.
       string store = temp->name; //storing temp name to some string store.
       temp->name = minimum->name; //assigning temp with name of minimum of unsorted sublist.
       minimum->name = store; //assigning minimum with the name of temp stored in store variable.
       temp = temp->next;   
   }  
}

Add a comment
Know the answer?
Add Answer to:
I am losing elements when I sort my Linked List. How can I sort my Linked...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • 5.8 Sort Linked List Use mergersort to sort a linked list Do not use the following...

    5.8 Sort Linked List Use mergersort to sort a linked list Do not use the following libraries: algorithm, cmath. Do not load the values into a vector and sort them. The sort must be done with a linked list Example Two lists 6->3->1->2->4->5 will return a list with 1->2->3->4->5->6. Input There will be no input read in anymore. Going forward use the hard-coded input on the template and ensure the program works. There will be one compare output test based...

  • I am creating a program to sort a list of names from a given text file...

    I am creating a program to sort a list of names from a given text file using linked listed. The text file would look something like this: 3 John Johnson 1 Tim Boring 1 Jason Mendoza 1 Bobert Reed 2 Tim Boring 4 5 Essentially I would like to associate each numerical value with an action: 1 = add a person, 2 = remove person, 3 = check if that name is in the list, 4 = print list, 5...

  • ^^^ Q3. I am trying to implement double linked list but I was failed to write...

    ^^^ Q3. I am trying to implement double linked list but I was failed to write the code so anyone gives the main Code in the main function   THANK YOU FOR ADVANCE #include<stdio.h> #include<stdlib.h> #include<alloc.h> struct node {      int info;      struct node *lptr,*rptr; }; typedef struct node DL; DL *delete( ) , *insert ( ); void display(); DL *delete(DL *start,int x) {      DL *left,*right,*curr;      curr = start;      if( start == NULL)       {                 printf("\nDoubly...

  • Problem 1 Given a linked list of integers, write a function getUnique that removes all duplicates elements in the linked list and returns the new linked list of unique elements (The order does not ma...

    Problem 1 Given a linked list of integers, write a function getUnique that removes all duplicates elements in the linked list and returns the new linked list of unique elements (The order does not matter). Example: Input: 1-»2->3->1-2 Output: 1->2->3 public class Node f int iterm Node next; Node(int d) t item = d; next-null; ) import java.util.ArrayList; public class ExtraLab public static void main (String[] args)t PROBLEM 1 System.out.println("PROBLEM 1"); Node head new Node(1); head.next-new Node (2); head.next.next-new Node(3);...

  • Using C, I need help debugging this program. I have a few error messages that I'm...

    Using C, I need help debugging this program. I have a few error messages that I'm not sure how to fix. Here is the code I have: /* * C Program to Print a Linked List in Reverse Order */ #include <stdio.h> #include <stdlib.h> struct node { int num; struct node *next; }; int main() { struct node *p = NULL; struct node_occur *head = NULL; int n; printf("Enter data into the list\n"); create(&p); printf("Displaying the nodes in the list:\n");...

  • Please fill in this code to reverse a linked list: (written in C/C++) #include #include #include...

    Please fill in this code to reverse a linked list: (written in C/C++) #include #include #include using namespace std; /* Link list node */ struct Node { int data; // your code here }; /* Function to reverse the linked list */ static void reverse(struct Node** head_ref) { // your code here } /* Function to push a node */ void push(struct Node** head_ref, int new_data) { // your code here } /* Function to print linked list */ void...

  • How would i display the numbers in a linked list from smallest to biggest with this...

    How would i display the numbers in a linked list from smallest to biggest with this code using c++, thanks! I will need a for loop i believe but can't figure it out 5 void list displa node temp list while (temp NULL) cout temp next 1 temp temp next cout endl;

  • Im making a generic linked list. I cant figure out how to make an object of...

    Im making a generic linked list. I cant figure out how to make an object of my class from main. My 3 files are main.cpp dan.h dan.cpp The error is: 15 6 [Error] prototype for 'void ll<T>::insert()' does not match any in class 'll<T>' #include <iostream> #include <string> #include "dan.h" using namespace std; int main() { ll<int> work; work.insert(55);//THIS IS THE LINE THATS GIVING ME THE ERROR, Without this line it compiles and //runs. } #ifndef DAN_H #define DAN_H #include...

  • iImplement a Singly Linked List detectLoop in Java, it would check whether the linked list contains...

    iImplement a Singly Linked List detectLoop in Java, it would check whether the linked list contains a loop. Print true if yes, false if not. Test by using the following code: LL<Integer> L = new LL<>(); for (int i = 1000; i > 0; i-=3) sl.add(i); try { L.insert(122, L.getNode(70), L.getNode(21)); if (L.detectLoop()) System.out.println("True"); else System.out.println("False."); } catch(Exception e){ e.printStackTrace(); } class Linkedlist<E>{ private static class Node<E>{ private E element; private Node<E> next; public Node(E e, Node<E> n){ element =...

  • I am trying to make a linked list queue and I am trying to use the...

    I am trying to make a linked list queue and I am trying to use the display method I made just to see if its working but when I run it nothing is displayed please help. Also the newPlane boolean was made just so I can randomly decide if the plane is going to join the queue or not. public class PlaneSimulation { public static void main(String[] args) { int landTime = 2; int takeoffTime = 3; int avgArrivalInterval =...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT