2013-10-09 74 views
0

我的老師給了一個驅動程序來完成一個程序,我不確定如何編寫插入函數。搞清楚爲鏈表插入函數參數?

行給我的麻煩:

you.Insert(me,0); 

you是默認的構造函數和me是一個明確的值構造,所以這條線應該創建you節點與me內容。

我迷路瞭解如何編寫參數來訪問我爲我插入功能

void WRD::Insert(?, int new_data) 

我會包括明確的構造函數我有,任何見解了解這一精神將幫助。 (包括例如應該像還是基於他們給我一個例子什麼insert。)

WRD::WRD(const string & s) 
{ 
    cout<<"one called\n"; 
    front = 0; 
    for(unsigned i=0; i<s.length(); i++) 
    { 
     AddChar(s[i]); 
    } 
} 


class node 
{ 
public: 
    char symbol; 
    node * next; 
}; 

v

oid Insert(node * &ptr, int new_data) 
{ 
    node *new_ptr = new node; 

    new_ptr -> data = new_data; 
    new_ptr -> next = 0; //always initialize a pointer 

    if (Empty(ptr)) 
    { 
     ptr = new_ptr; 
    } 
    else if (new_ptr->data <= ptr->data) 
    { 
     new_ptr->next = ptr; 
     ptr = new_ptr; 
    } 
    else 
    { 
     node *fwd_ptr=ptr, *pre_ptr=ptr; 

     while(fwd_ptr!=0 && (fwd_ptr->data < new_ptr->data)) 
     { 
      pre_ptr = fwd_ptr; 
      fwd_ptr = fwd_ptr->next; 
     } 

     if (fwd_ptr == 0) 
     { 
      pre_ptr->next = new_ptr; 
     } 
     else 
     { 
      new_ptr->next = fwd_ptr; 
      pre_ptr->next = new_ptr; 
     } 
    } 
} 
+1

'你'不是一個構造函數。這是一個對象。 'insert'是對象擁有的方法。 (假設)。也許是時候停下來盯着電腦顯示器並檢查你的筆記 –

+0

我沒有說你是一個構造函數,我說它是用於構造函數的。 – Ron

+0

我引用''你'是默認構造函數'我假設你的意思是「你」作爲名稱。 –

回答

0

喜歡我認爲(假設我理解你的權利)

void WRD::Insert(const WRD& w, int new_data) 

它可能有助於顯示更多的驅動程序,特別是如何聲明youme

+0

WRD你; WRD我(「123aabc102」); – Ron

+0

@John - 「你和我是如何聲明的」 - 困惑? –

+0

什麼是AddChar?什麼是「插入」? –