Bitte ertragen Sie mich, ich bin neu zu stackoverflow, also lassen Sie mich versuchen, mein Problem zu erklären, wenn es irgendwelche Punkte gibt, die ich in meiner Frage verbessern könnte bitte sicher sein Kommentar und ich werde die FrageBestellung einer verketteten Liste nach einem Wert -
Gut bearbeiten, so ich habe mir eine verlinkte Liste, ich habe es in der Liste mit einem Wert bestellen möchten, die der Preis sein passiert:
tmpPtr->item->price;
Das Problem, das ich habe, ist das Umschalten der Positionen, hier ist der Code:
struct inventory *sort_list() {
struct inventory *tmpPtr = pFirstNode;
struct inventory *temp = NULL;
struct inventory *tmpNxt = pFirstNode->next;
int tmp;
while(tmpNxt != NULL){
while(tmpNxt != tmpPtr){
if(tmpNxt->item->price < tmpPtr->item->price){
// if next item price is smaller than current
// temp for the next item
// heres the problem....
temp = tmpNxt->next;
tmpNxt->next = tmpPtr;
tmpPtr->next = temp;
}
else{
// if not any smaller continue
tmpPtr = tmpPtr->next;
}
}
tmpPtr = pFirstNode;
tmpNxt = tmpNxt->next;
}
return tmpPtr;
}
Die Werte werden die Bestellung nicht wie ich aus meiner Logik erwartet, würden alle Hinweise große EDIT sein:
struct inventory *sort_list() {
struct inventory *tmpPtr = pFirstNode;
struct inventory *temp = NULL;
struct inventory *tmpNxt = pFirstNode->next;
while(tmpNxt != NULL){
while(tmpNxt != tmpPtr){
if(tmpNxt->item->price < tmpPtr->item->price){
// if next item price is smaller than current
// temp for the next item
if(tmpPtr == pFirstNode){
tmpPtr = pFirstNode->next; // tmpPtr is now second node
pFirstNode->next = tmpPtr->next;
tmpPtr->next = pFirstNode;
pFirstNode = tmpPtr;
}
tmpNxt = tmpPtr->next;
tmpPtr->next = tmpNxt->next;
tmpNxt->next = tmpPtr;
temp->next = tmpNxt;
}
}
temp = tmpPtr;
}
return tmpPtr; // Place holder
}
[Seufzer] unter Ihrem Debugger laufen, Schritt durch, Inspizieren Variablen, Notizen machen, beheben Sie Ihren Bug/s. –
Ich habe all das getan kann mich nicht darum kümmern, warum sonst würde ich die Frage @MartinJames – Blarsssss
@Blarssss posten, wusste er das nicht. Viele Benutzer sind faul. :) Kannst du bitte ein minimales Beispiel posten? Ich habe eine Sortierung für Listen implementiert, die Dich vielleicht aufmuntert: https://gsamaras.wordpress.com/code/list-mergesort-c/ – gsamaras