Επιλέξτε ένα όνομα , και στη συνέχεια χρησιμοποιήστε typedef για να το καθορίσει . Κάθε συνδεδεμένη λίστα , θα χρειαστεί μια δομή , ακόμη και αν έχει μόνο μια μεταβλητή : typedef struct
product_data PRODUCT_DATA ?
2Καθορίστε τη δομή . Το τελευταίο στοιχείο θα πρέπει να είναι ένας δείκτης προς τον τύπο που μόλις ορίστηκε , και ονομάστηκε "επόμενο" :
struct { int product_data product_code ? Int product_size ? PRODUCT_DATA * επόμενη? } ?
Η 3Διαθέστε δύο δείκτες σε αυτή τη δομή δεδομένων , την προετοιμασία τους για την NULL , για να είναι ο κατάλογος " κεφάλι " και " ουρά " :
PRODUCT_DATA * products_head = NULL? PRODUCT_DATA * products_tail = NULL?
Προσθήκη στη Λίστα
Φτηνές 4Διαθέστε μια προσωρινή μεταβλητή που είναι ένας δείκτης στη δομή δεδομένων :
PRODUCT_DATA * newproduct ?
5Χρησιμοποιήστε malloc ( ) για να δημιουργήσετε ένα νέο στοιχείο , πάντα τον έλεγχο για ένα λάθος :
αν ( ( newproduct = malloc ( sizeof ( PRODUCT_DATA ) ) ) == NULL) { ματαίωση ( ) ? }
6Συμπλήρωση πεδίων του νέου στοιχείου . Ρυθμίστε το " επόμενο" πεδίο στο NULL :
newproduct - > product_code = newcode ? Newproduct - > product_size = newsize ? Newproduct - > επόμενο = NULL? Σελίδα 7Ορίστε τη μεταβλητή της κεφαλής . Αν η μεταβλητή της κεφαλής είναι NULL , αυτό είναι το πρώτο στοιχείο που προστίθεται στη λίστα , έτσι ορίσετε τη μεταβλητή κεφάλι να επισημάνω σε αυτό :
αν products_head = newproduct ? Τετάρτη 8Προετοιμαστείτε για μια διαφορετική ( products_head ! ) μεταβλητή . Σε άλλες περιπτώσεις , οι μεταβλητές ουρά πόντους στο τελευταίο στοιχείο στη λίστα , που έτσι ώστε την επόμενη αξία του να δείχνει προς το νέο στοιχείο :
άλλο products_tail - > επόμενο = newproduct ? Τετάρτη 9Ενημέρωση της ουράς σημείο στο νέο τελευταίο στοιχείο , σε κάθε περίπτωση :
products_tail = newproduct ?
Η πρόσβαση στη λίστα
10Δημιουργήστε μια άλλη προσωρινή μεταβλητή που δείχνει τη δομή των δεδομένων :
PRODUCT_DATA * προϊόν ?
11Ορίστε προσωρινή μεταβλητή σας με τη μεταβλητή της κεφαλής :
προϊόν = products_head ? Τετάρτη 12Loop μέσα από τα στοιχεία , ελέγχοντας κάθε ένα και στη συνέχεια τη ρύθμιση της προσωρινής μεταβλητής στην επόμενο δείκτη να διασχίσει στο επόμενο :
ενώ (προϊόν ) {if (προϊόν - > product_code = 15 ! ) { = προϊόν προϊόντα > επόμενο ? } }
13Ελέγξτε αν η μεταβλητή είναι NULL . Αν ναι , έχετε ποτέ δεν βρήκε το στοιχείο :
εάν η επιστροφή 0 ? ( Προϊόν! ) . Διαφορετικά, επισημαίνει το στοιχείο που έψαχναν για :επιστρέψετε το προϊόν - > product_size ?
Η Clean Up εργασία σας
14δεσμεύσει τη λίστα όταν τελειώνει το πρόγραμμά σας , όπως δεν είναι όλα τα λειτουργικά συστήματα θα χειριστεί αυτό αυτόματα
Η 15Loop όσο η μεταβλητή κεφάλι δεν είναι NULL : .
ενώ ( products_head ) { Τετάρτη 16Κατάστημα επόμενο δείκτη της στην η μεταβλητή προσωρινά ουρά :
products_tail = products_head - > επόμενο ? Τετάρτη 17δεσμεύσει το στοιχείο :
δωρεάν ( products_head ) ? Τετάρτη 18Ρυθμίστε το δείκτη κεφάλι στο δείκτη έχετε αποθηκεύσει στο βήμα 4 :
products_head = products_tail ? }
Η
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα