לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 17-05-2007, 22:25
צלמית המשתמש של DrTempi
  DrTempi DrTempi אינו מחובר  
 
חבר מתאריך: 12.03.03
הודעות: 2,176
הנה עוד דרך.

קודם כל הסבר אח"כ מימוש.
הפונקציה תקבל שני פרמטרים, מצביע לראש הרשימה ומצביע לאיבר הנוכחי. הרעיון הוא פשוט, תמיד להעביר את האיבר הנוכחי לראש הרשימה, לגרום לו להצביע לאיבר שלפני כן היה ראש הרשימה ואז לקרוא לפונקציה שוב אחרי שקידמנו את האיבר הנוכחי באחד (כמובן שנפסיק כאשר אין לאן לקדם את האיבר הנוכחי). עוד נקודה אחת, הכל טוב ויפה אך אם בקריאה הראשונה נקבל בפרמטר של האיבר הנוכחי מצביע לאיבר שהוא ראש הרשימה אז ניצור לולאה ברשימה כיוון שהאיבר הראשון (שבסופו של דבר יהיה בסוף הרשימה) יצביע לעצמו.

קוד PHP:
 void reverse_list(link **headlink *cur) {

    
link *tmp NULL;

    if (
head == NULL || *head == NULL || cur == NULL)
        return;
    
    
// On the first itteration we don't need to swap the current link with the head
    // since they are the same link. But we want to set this link to be last on the
    // list so we set the next member to point to NULL.
    
if (*head == cur) {
        
cur cur->next;
        (*
head)->next NULL;
        
reverse_list(headcur);
        return;
    }

    
// For any link that is not the orignal head do the next:
    // * Set the current link to be the head.
    // * Advance the current link by one.
    // * Set the head's next link to be the previous head.
    // * Call the function again to complete the reversion.
    
tmp = *head;
    *
head cur;
    
cur cur->next;
    (*
head)->next tmp;
    
reverse_list(headcur);

_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://www.fresh.co.il/scripts/birthday.php?date=27/04/1986]

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 06:36

הדף נוצר ב 0.05 שניות עם 11 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר