C語言中建立鏈表,老師給的建立鏈表的語句,看不懂,求大神可以
NODE * fun(NODE *h) //NODE是節點結構體定義,函數應該是返轉一個鏈表,也就是頭節點變成尾,尾變成頭{ NODE *p, *q, *r; p = h; //p指向傳進來的節點h,應該是頭節點 if (p == NULL) //假如傳進來的鏈表節點h為空,說明是空鏈表,沒法反轉,直接返回 return NULL; q = p->next; //如果節點h不為空,q指向頭節點h的下一個節點 p->next = NULL; //使p的下一個節點為空,即不指向任何節點,成為尾節點。
while (q) // 如果q不空,一直執行下面的循環 { r = q->next; //r 指向q的下一個節點,也就是讓r記住當前待處理的節點的下一個節點 q->next = p; //讓q的下一個節點指向p,也就是把q移到了原來頭節點的前面,成為新的頭節點 p = q;//這樣,q就相當于排到了p的前面,讓p指向新的頭節點 q = r ;//q指向下一下待處理節點 }//如果所有節點處理完,因為q始終是指向當前待處理節點的下一個節點,處理完后,下一個節點必然為空,while循環結束(while(q)相當于while(null)) return p;//返回新的頭節點。
SQL鏈表查詢語句是什么
如:
select * from a left join b on * = *
select * from a right join b on * = *
select * from a inner join b on * = *
select * from a,b
where * = *
沒記錯的話就這些,你可以根據這個查資料,畢竟我腦袋木有資料齊全0.0
c語言鏈表看不懂,while語句后邊開始,求幫助,最好有示意圖配解
這就是個頭插法建立鏈表的代碼,不過寫的不好!struct Student *head,*new;
head=NULL;
new=malloc() ;
scanf("%s", new->name );
sc緝護光咎叱僥癸鞋含貓anf("%d", &new->number );
while( new->number!= 0 ) //當輸入的number值不為0時循環
{
new->next=head; //新結點的后繼指向head 你就當head是一個鏈表的頭,后面有很多數據結點
head=new ; //新結點成為新的head,這樣一個一個的就串起來了!
new=malloc() ; //繼續申請結點
scanf("%s", new->name ); //讀入數據
scanf("%d", &new->number );
}
不知道你看的是哪里的書,程序寫的真不咋地