當前位置:成語大全網 - 新華字典 - c語言單鏈表反向遍歷程序~

c語言單鏈表反向遍歷程序~

嗯...。寫完之後發現好像題目的意思被誤解了。是反向遍歷,但是我把整個鏈表翻了個底朝天,直接遍歷就行了,遍歷完了還可以回去。。。= =為什麽不直接按照原來的順序遍歷,每次都插在最前面,這樣就可以按照相反的順序新建壹個鏈表,就這樣~

========================================================

# include & ltstdio.h & gt

# include & ltstdlib.h & gt

typedef struct _node {

int值;

struct _ node * next

}節點;

node * make_node(int value) {

node * new _ node =(node *)malloc(sizeof(node));

新節點-& gt;值=值;

新節點-& gt;next = 0;

返回新節點;

}

node * add_after(node *pos,int value) {

node *new_node = make_node(值);

pos-& gt;next = new _ node

返回新節點;

}

void print _ node _ list(node * head){

while(頭){

printf("%d ",head-& gt;值);

head = head-& gt;接下來;

}

printf(" \ n ");

}

void free_node_list(node *head) {

節點*溫度;

while(頭){

temp = head

head = head-& gt;接下來;

免費(臨時);

}

}

node * reverse(node *head) {

節點*f = 0,* s = 0;

while(頭){

f = s;

s =頭部;

head = head-& gt;接下來;

s-& gt;next = f;

}

返回s;

}

int main() {

int I = 0;

node *head = make_node(i),* last = head

while(我& lt10) {

last = add_after(last,++ I);

}

print_node_list(表頭);

頭=反向(頭);

print_node_list(表頭);

free_node_list(頭);

返回0;

}