2013-03-13 84 views
-3

//我不知道如何插入元素,並輸出整個列表。如何爲鏈表插入元素

#include <iostream> 
using namespace std; 
class IntElement 
{ 
public: 
    class IntElement *next; 
    int data; 
bool insertInFront(IntElement** head, int data) 
{ 
IntElement *newElem = new IntElement; 
if(!newElem) return false; 
newElem->data = data; 
*head = newElem; 
return true; 
} 
bool insertElement(IntElement **head, int d) 
{ 
    IntElement *newElem = new IntElement; 
    newElem->data=d; 
    newElem=*head; 
    *head=newElem->next; 
    return true; 
} 
void print(IntElement **head) 
{ 
    if(*head!=NULL) 
    { 
     cout<<(*head)->data<<endl; 
     *head=(*head)->next; 
    } 
} 
} ; 
int main() 
{ 

    IntElement *T=new IntElement; 
    T->insertInFront(&T,7); 
    T->insertInFront(&T,9); 
    T->insertInFront(&T,213); 
    T->insertInFront(&T,33); 
    T->insertElement(&T,123); 
    T->print(&T); 
    system("pause"); 
    return 0; 
} 
+0

嘗試使用'std :: list'。參見'std :: list :: push_back()'。這些已經爲您測試過了。您不必浪費時間創建自己的鏈接列表。 – 2013-03-14 00:18:29

回答

0

重讀此仔細:

IntElement *newElem = new IntElement; 
newElem->data=d; 
newElem=*head; 
*head=newElem->next; 
return true; 

我懷疑newElem = *head;是做你想要的。

+0

我該如何改變它? – 2013-03-14 00:53:56

+0

如何添加元素 – 2013-03-14 02:36:56

+0

考慮事物的順序 - 在將'* head'分配給'newElement'後,您是否還有任何指向您分配的新項目? – 2013-03-14 02:48:11