資料結構(使用C語言)相關問題

2021-10-23 15:10:21 字數 2716 閱讀 5257

1樓:

#include

#include

typedef struct loopnode

loopquenode;

loopquenode* creatline(int val);//建立頭結點

loopquenode* inline(loopquenode* formernode, int val);//入隊函式

void outline(loopquenode* node);//出隊函式

void lineprint(loopquenode* firstnode);//列印當前佇列

int loopfree(loopquenode* node);//釋放佇列

int main()

lineprint(firstnode);

//出隊

printf("請輸入要刪除的值:\n");

scanf("%d",&val_in);

nodetem = firstnode;

donodetem = nodetem -> next;

}while(nodetem != firstnode);

if(nodetem == firstnode)

printf("佇列中沒有該元素!\n");

else

lineprint(firstnode);

//釋放佇列

flag = loopfree(firstnode);

if(flag == 0)

else

}/**********************

初始化函式;

建立頭結點並自迴圈

**********************/

loopquenode* creatline(int val)

/********************************************

入隊函式;

輸入值為插入位置上一結點和輸入結點有效值;

返回值為新結點指標

********************************************/

loopquenode* inline(loopquenode* formernode, int val)

newnode = (loopquenode*)malloc(sizeof(loopquenode));

newnode -> value = val;

newnode -> next = formernode -> next;//新結點指標指向下一個結點

formernode -> next = newnode;

return newnode;

}/***************************************

出隊函式;

輸入值為所需釋放結點

輸出值可判斷結點是否成功釋放

***************************************/

void outline(loopquenode* node)

nodetem -> next = node -> next;

free(node);

node = null;

return;

}/**************

釋放佇列

輸入任意一個結點指標,釋放整個佇列

輸出釋放結果

**************/

int loopfree(loopquenode *node)

while(node2free != node);

node = null;

return 1;

}/**************

列印佇列

**************/

void lineprint(loopquenode* firstnode)

node = firstnode;

printf("當前佇列中所有的值為:\n");

dowhile(node != firstnode);

}早上就看到這個問題的,中間一有時間就寫一點,終於寫完了。。。花了那麼多時間,看來水平還需要提高

2樓:匿名使用者

#include

#include

#include

typedef struct qnode

lqnode,*linkqueue;

bool initqueue(linkqueue *rear); //迴圈隊裡初始化

bool enterqueue(linkqueue *rear,int e); //入隊

bool deletequeue(linkqueue *rear,int *e); //出隊

int main()

for(i = 0; i < n; i++)

printf("\n");

return 0;

}bool initqueue(linkqueue *rear)

bool enterqueue(linkqueue *rear,int e)

bool deletequeue(linkqueue *rear,int *e)

else

*e = p->data; //把隊頭元素的值賦給e

free(p); //釋放指標p指向的結點

}return true;

}//根據迴圈連結串列改的,終於改出來了

c語言資料結構賦值問題,c語言版資料結構問題?

對應的結構體指標,那麼函式要定義成void initstack struct snode l 還有這程式有錯,傳進來的l只是副本,他的改變不影響到實參。應該用指標引數型別或引用型別。include include struct snode main int initstack struct snod...

資料結構c語言描述,資料結構(C語言描述)

include include include define datatype int define maxsize 1000 typedef struct nodebitreenode datatype bt maxsize bitreenode buildbtree datatype bt,in...

資料結構快速排序問題,C語言資料結構 快速排序的問題

由於你傳遞的l是值傳遞,在快速排序內部出現了一個名字一樣的區域性變數,只是區域性變數被排序了,並不是傳入的變數被排序,可以採用傳地址的方式解決,或者不定義形參,直接採用全域性變數。我使用前者幫你實現了 再者,快速排序 有點問題,幫你修改了下 include include define maxsiz...