文件名称:WinRAR-ZIP
-
所属分类:
- 标签属性:
- 上传时间:2012-11-16
-
文件大小:3.04kb
-
已下载:0次
-
提 供 者:
-
相关连接:无下载说明:别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容来自于网络,使用问题请自行百度
在C++用递归实现链表逆序 使得倒序输出。-#include <stdio.h>
#include <stdlib.h>
#include <time.h>
const int M=10
typedef int Type
typedef struct Node{
Type data
struct Node* next
}Node
void add_elem(Node**head,Type data){
Node* tmp = (Node*)malloc(sizeof(Node))
tmp->data = data
tmp->next = (*head)
*head = tmp
}
void print_list(Node*head){
while(head){
printf(“ d “, head->data)
head = head->next
}
printf(“\n”)
}
void reverse_list(Node**head){
if(!*head)//如果(*head)==NULL
return
Node*p1,*p2
p1 =*head
p2 = (*head)->next
if(!p2)//如果没有下一个节点
return
reverse_list(&p2) //同时存在两个节点就要进行翻转
p1->next->next = p1
p1->next = NULL //主要是保证,第一个节点指向NULL
(*head) = p2
}
int main(){
Node*head = NULL
for(int i=0 i<M i++)
add_elem(&head, rand() 100)
print_list(head)
reverse_list(&head)
print_list(head)
}
#include <stdlib.h>
#include <time.h>
const int M=10
typedef int Type
typedef struct Node{
Type data
struct Node* next
}Node
void add_elem(Node**head,Type data){
Node* tmp = (Node*)malloc(sizeof(Node))
tmp->data = data
tmp->next = (*head)
*head = tmp
}
void print_list(Node*head){
while(head){
printf(“ d “, head->data)
head = head->next
}
printf(“\n”)
}
void reverse_list(Node**head){
if(!*head)//如果(*head)==NULL
return
Node*p1,*p2
p1 =*head
p2 = (*head)->next
if(!p2)//如果没有下一个节点
return
reverse_list(&p2) //同时存在两个节点就要进行翻转
p1->next->next = p1
p1->next = NULL //主要是保证,第一个节点指向NULL
(*head) = p2
}
int main(){
Node*head = NULL
for(int i=0 i<M i++)
add_elem(&head, rand() 100)
print_list(head)
reverse_list(&head)
print_list(head)
}
(系统自动生成,下载前可以参看下载内容)
下载文件列表
record.doc
本网站为编程资源及源代码搜集、介绍的搜索网站,版权归原作者所有! 粤ICP备11031372号
1999-2046 搜珍网 All Rights Reserved.