I have a linked list with string and int content.i can do operations on it like deleting,adding updating or printing etc.. the problem is i need to print them with respect to their numbers in descending order. Right now im adding new nodes to end of list so it prints old to new. Should i sort them while adding or printing ? i guess i should sort them in adding function.i added comments possible place to do sorting.code is below Code: //list.h content struct node{ std::string data; int point; node* next; }; typedef struct node* nodePtr; nodePtr head; nodePtr curr; nodePtr temp; // addnode function void list::AddNode(string addData,int addPoint){ nodePtr n = new node; //nodePtr is node* n->next=NULL; //find node n is pointing to, access its next element make it point to null n->data= addData; n->point= addPoint; if(head != NULL) { // if we have at least 1 element in the list . curr = head; // take the current pointer we are working with and make it same with head pointer pointing to.(current= front of list). while(curr->next !=NULL){ // are we at the end of the list. curr = curr->next;//we are not end of the list.curr pointer points next node. should i do sorting here ? } curr->next = n; }else{ //if we dont have at least 1 element in the list. head =n; } } //print function void list::PrintList(){ curr = head; while(curr !=NULL){ cout<<curr->data<<" "<<curr->point<<endl; curr = curr->next; } }