1樓:
你的:p=head;也就是說你的結點p是指向你的連結串列的頭結點的,但是頭結點的作用只是一個標誌結點,它之中沒有儲存資料的。也就是這樣的:
p->data==null;
p->next=x;//x為連結串列的第一個儲存資料的結點你把while迴圈改一下試試;
while(!(p->next))
這樣就可以了!
2樓:匿名使用者
實現在末尾增加結點
q=(node*)malloc(sizeof(node));
if(!q) exit(overflow);//分配空間不成功q->data=adata;
q->next=null;
p->next=q;}
c++怎麼在連結串列中插入結點
3樓:匿名使用者
一般你只會擁有一個連結串列的頭指標,要根據這個指標進行迴圈到達最後一個節點,然後在這個節點後面加入一個新的節點。下面是完整的**,包括連結串列的建立,增加節點
#include"iostream"
using namespace std;
typedef struct lnode //定義一個連結串列
*listnode;
在連結串列中填充資料,每次輸入一個數就會自動在表
插入資料的方法
void print(listnode l)
cout< }int main() 4樓:匿名使用者 新定義一個結點指標,如p1,並複製,然後用原先的連結串列指標(如p)指向p1,p->next=p1; 5樓:匿名使用者 定義prt1,複製,prt->next=prt1 6樓:匿名使用者 後插法建立新的連結串列,然後根據表頭,表中,表尾之前插入節點#include #include #include typedef struct node *list; void creatlist(list *head,int n=0)}void list_insert(list l)else if (pos==list_length(l))else q = (list)malloc(sizeof(list)); //建立一個新節點 q->next = p->next; p->next = q; q->info = p->info; p->info = num; outputlist(l);}} c++ 單向連結串列 增加新節點 7樓:許秀英生淑 假設單連結串列類的名字是 mylist struct mylist 假設頭結點是head(mylist* head),那麼將新增結點分三種情況: 1.在連結串列最前面新增結點,也即head的後面新增bool add_node_before_head(mylist*h,mylist* node_to_add) return false; }2.在連結串列的target_node後新增結點: bool add_node_after_target(mylist*target_node,mylist* node_to_add) return false; }3.在連結串列的結點尾新增結點 bool add_node_at_end(mylist*h,mylist* node_to_add) return false; 這三個函式的呼叫方式如下: head=create_list();//這個函式你自己寫吧mylist* p_node=new mylist; p_node->data=20; add_node_before_head(head,p_node); add_node_after_target(head->next,p_node); add_node_at_end(head,p_node); 希望可以幫到你~ 8樓:閉桂花戚雀 增加由p 指向的結點,即將 *p插入到結點 *s之後,2條語句就夠了: p->next =s->next; //使結點 *p的指標域指向 *s的下一個結點 s->next=p; //使結點 *s的指標域指向*p 9樓:聲美媛沐嫻 連結串列是一種簡單的鏈式儲存的資料結構 請參照資料結構相關的書籍,這就是帶表頭的單向連結串列的基本操作。 建議看一下嚴蔚敏版的《資料結構》一書,上有詳細說明,此處就忽略了 c++ 單向連結串列 增加新節點 10樓:匿名使用者 單向連結串列的插入圖示: ---->[null](原連結串列) head ---->[1]---->[null](插入後的連結串列) head 1->next 圖7 空連結串列插入一個節點 結合原連結串列和插入後的連結串列,就很容易寫出相應的**。操作方法如下: 1、你要明白空連結串列head指向null就是head=null; 2、插入後head指向第1個節點,就是讓head=1,1->next=null,ok這樣就行了。 ---->[1]---->[2]---->[3]...---->[n]---->[null](原連結串列) head 1->next 2->next 3->next n->next ---->[1]---->[2]---->[x]---->[3]...---->[n]---->[null](插入後的連結串列) head 1->next 2->next x->next 3->next n->next 圖8:有n個節點的連結串列,插入一個節點(這裡圖示插入第2個後面) 結合原連結串列和插入後的連結串列,就很容易寫出相應的**。操作方法如下: 1、你要明白原1->next就是節點2,2->next就是節點3; 2、插入後x指向第3個節點,2指向x,就是讓x->next=2->next,1->next=x。 */struct node *insert(struct node *head, long num, struct node *node) p1 = head; while (p1->num != num && p1->next != null) /*p1指向的節點不是所要查詢的,並且它不是最後一個節點,繼續往下找*/ if (num == p1->num) /*找到了(結合圖示8理解)*/ else return head;} 11樓: 語句很簡單 假設head 是連結串列的頭指標 假設 list 為節點型別 list *p,*ptemp p=(list *)malloc(sizeof(list)); ptemp=head->next; head->next=p; p->next=ptemp; free(p) 12樓:匿名使用者 假設單連結串列類的名字是 mylist struct mylist 假設頭結點是head(mylist* head),那麼將新增結點分三種情況: 1.在連結串列最前面新增結點,也即head的後面新增 bool add_node_before_head(mylist* h,mylist* node_to_add) return false; }2.在連結串列的target_node後新增結點: bool add_node_after_target(mylist* target_node,mylist* node_to_add) return false; }3.在連結串列的結點尾新增結點 bool add_node_at_end(mylist* h,mylist* node_to_add) return false; 這三個函式的呼叫方式如下: head=create_list();//這個函式你自己寫吧 mylist* p_node=new mylist; p_node->data=20; add_node_before_head(head,p_node); add_node_after_target(head->next,p_node); add_node_at_end(head,p_node); 希望可以幫到你~ 13樓:匿名使用者 增加由 p 指向的結點,即將 *p 插入到結點 *s 之後,2條語句就夠了: p->next = s->next; // 使結點 *p 的指標域指向 *s 的下一個結點 s->next = p; // 使結點 *s 的指標域指向 *p c++ 用模板類建立一個單向連結串列 實現連結串列節點的增加、刪除、輸入 怎麼寫啊 14樓:匿名使用者 #include using namespace std; struct node };class link ;link::link() link::~link() }void link::creat() }void link::creat1(int num)bool link::search(int i)}bool link::insert(int i,int number) else }void link::output(node *f)cout< }int main() c++怎麼把一個連結串列連結到另一個連結串列的尾部(帶頭結點)??? 15樓:匿名使用者 連結串列b追加到a的尾部,假設a,b都不為空 node *seektail = a; while(seektail->next != null)seektail->next = b->next; 邏輯編輯 邏輯運算子是根據表示式的值來返回真值或是假值。其實在c語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。符號 功能 邏輯與 邏輯或 邏輯非 當表示式進行 運算時,只要有一個為假,總的表示式就為假,只有當所有都為真時,總的式子才為真。當表示式進行 運算時,只要有一個為真,總的值就為真... 1.準備好c語言程式,清楚c語言的入口函式 2.編寫mexfunction函式。mexfunction函式為c語言與matlab語言的介面函式。呼叫例項在mylinedetect.c檔案中.在matlab中呼叫mex指令編譯相關檔案,將c語言編譯為mex檔案。3.編譯完成後,生成mylinedete... 靜態變數的特點是 僅在程式開始執行時被初始化一次,以後每一次被呼叫時儲存的的結果都可以在下一次被呼叫時使用。所以如果希望每一次呼叫函式得到的結果在下一次呼叫時使用,就可以用static變數來儲存這樣的資料。static應用主要有三個方面 如果定義的static變數為全域性變數 1 這個static變...在c 中怎麼打出邏輯或運算子,在C 中怎麼打出邏輯或運算子?
怎麼在matlab中執行c程式,怎麼在matlab中呼叫用c語言編寫的程式?
在c語言中或在c中static是怎麼用的麻煩高人