1樓:網友
你只有3個piont變數無法構造連結串列!!
#include
using namespace std;
struct piont
int data;
piont *next;
int main()
int n;
cin>>n;
int i;
piont *h,*p,*q;
h=(piont *)malloc(sizeof(piont));
h->data=1;
h->next=0;
p=h;for(i=2;i<=n;i++)q=(piont *)malloc(sizeof(piont));應該用指標,並且應該malloc分配空間。注意後面要free
q->data=i;
q->next=0;
p->next=q;
p=q;p=h;
for(i=1;i<=n;i++)
coutfree(q);
return 0;
2樓:二五零二五零
#include
using namespace std;
struct piont
int data;
piont *next;
int main()
int n;
cin>>n;
int i;
piont *h,*p,*q;
h=(piont *)malloc(sizeof(piont));
h->data=1;
h->next=0;
p=h;for(i=2;i<=n;i++)q=(piont *)malloc(sizeof(piont));應該用指標,並且應該malloc分配空間。注意後面要free
q->data=i;
q->next=0;
p->next=q;
p=q;p=h;
for(i=1;i<=n;i++)
coutfree(q);
return 0;
乙個簡單的連結串列
3樓:網友
struct node
結構的罩舉困節點 定義節點有兩個成員。
main()
struct node a,b,c,*h,*p;//建立了三個節點 指向結構、物念節點的2個答滑指標。
;p=h;while(p)
printf("%d-->p->data);
p=p->next;//指向下乙個節點。
printf("");執行結果:
寫乙個簡單的連結串列
4樓:網友
懂類和模板麼?懂的話可以給你提供乙個參考。如果單純寫作業題就算了……
5樓:網友
聽說c++在n年前就做了乙個偉大的東西,他的名字叫stl,裡面有個東西叫list。。。
剛學連結串列,寫了乙個簡單的連結串列,通過編譯了,但執行時出錯不知道原因?
6樓:
printf("%d",h->a1); 這句,對空指標操作,造成記憶體錯誤、加個判斷就好了。
if (h !=null)
printf("%d",h->a1)
c,c++連結串列(求高人指點!)
7樓:網友
語言是不會一下子學完的。
資料結構上最重要的 也不是一天兩天能掌握的。
不要浮躁~一起努力 呵呵。
8樓:網友
連結串列這東西教永遠都教不會的,還是要自己多理解。只要注意結點與結點的指向就ok了。
9樓:網友
那c++是怎麼學完的啊?資料結構中最最基本的部分啦。
建立乙個簡單的連結串列
10樓:網友
struct list * make(int n)struct list *p,*head,*tail;
int i;
int size=sizeof(struct list);
head=( struct list *)malloc(size);
head->num=1;
p=head;
for(i=2;i<=n;i++)
p=(struct list *)malloc(size);/這裡改成tail來申請,第一次迴圈的時候p指向的是head如果用p來申請的話,那head的指標就丟失了,而tail指標是null,tail->num賦值也是不可以的。
tail->num=i;//接下來的**都可以,將next指向新申請的tail,再將p指向型櫻氏隊尾。
p->next=tail;
p=p->next;
return head;
流程如下:申請記憶體頌慎,並將p指向head記憶體塊。
迴圈。申請記憶體並賦值,將p的next指向tail,這樣就將head鏈結上tail了,以後的迴圈就將前面一項鍊接上tail
將p指標指向卜散tail,在下一次迴圈當中可以鏈結下乙個單元。
3.返回head指標。
11樓:網友
/改了衡緩 不負責解釋了 像下行銷面 仔檔攔遊細看吧!!!
struct list * make(int n)struct list *head,*tail;
int i;
int size=sizeof(struct list);
head=( struct list *)malloc(size);
head->num=1;
tail=head;
for(i=2;i<=n;i++)
tail->next = struct list *)malloc(size);
tail = tail->next;
tail->num=i;
tail->next=null;
return head;
乙個簡單的連結串列輸出
12樓:網友
怎麼會沒有輸出呢?因為你並沒有結束程式。
while(p1->data!=0)
n++;if(n==1) head=p1;
else p2->next=p1;
p2=p1;
p1=(struct node *)malloc(len);
scanf("%d",&p1->data);
注意這個while迴圈,是當p1->data=0時退出,因此你必須輸入0結束輸入才會有輸出我改了一下程式這樣更直觀些。
#include ""
#include ""
#define len sizeof(struct node)struct node{
int data;
struct node *next;
struct node *scanff()struct node *p1;
struct node *head;
int n=0;
struct node *p2;
p1=p2=(struct node *)malloc(len);
printf("請連續輸入整數 輸入0停止");
scanf("%d",&p1->data);
head=0;
while(p1->data!=0)
n++;if(n==1) head=p1;
else p2->next=p1;
p2=p1;
p1=(struct node *)malloc(len);
scanf("%d",&p1->data);
p2->next=0;
return (head);
void print(struct node *head)struct node *p;
p=head;
if(head!=0)
do{printf("%d ",p->data);
p=p->next;
while(p!=0);
void main()
struct node *head;
head=scanff();
printf("你所輸入的整數如下:");
print(head);
13樓:網友
除程式結束後,沒有釋放記憶體之外! 沒有問題。
至於連結串列輸出的問題,我想應該是你用標準的輸入函式scanf,只要你輸入的格式有誤就會不列印, 能不能給定些輸入的特例。
編了乙個連結串列程式,在c++6.0環境下執行出錯,急求高人指點。。拜託了
14樓:匿名使用者
如果你會寫「hello world」的經典入門程式,你就不會出這樣的錯。
可加q群:186394662
單連結串列的建立,插入,建立一個單連結串列,並實現插入,刪除操作
include include struct node 建立單連結串列的函式,返回的是頭結點 struct node create slist r next 0 return h 輸出連結串列的函式,形參為頭結點 void print slist struct node h printf end n...
shell程式設計case,我寫了一個shell指令碼去呼叫執行一個testcase。請問,如何儲存執行case的所有中間過程。謝謝!
a z 和 a z 這種用法在某些特定的場合或某些linux發行版中不能夠正常工作,建議使用posix 風格的寫法,lower 和 upper 這樣更具可移植性。測試了一下,我這裡用 a z 和 a z 也不行,也必須使用 lower 和 upper 才可以工作。此外,要用c locale 即eng...
簡單的問題,一個簡單的問題 !!!
可以肯定的告訴你,你比漂亮女生更有優勢,喜歡你的肯定是真愛 真正的喜歡,是會包容對方的一切一切 當然會啦,豆豆最終會消失的 再說長豆豆是青春的標誌啊 若是我,我是不會太在意外表的,那些東西通常不真實,我更在乎她的內在修養 和跟她在一起時的感覺 那要看那個男生是不是在乎她的長相啊 只要善良 溫柔 大方...