博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Reverse反转算法+斐波那契数列递归+Reverse反转单链表算法--C++实现
阅读量:6321 次
发布时间:2019-06-22

本文共 1854 字,大约阅读时间需要 6 分钟。

hot3.png

 Reverse反转算法

1 #include 
2 3 using namespace std; 4 //交换的函数 5 void replaced(int &a,int &b){ 6 int t = a; 7 a = b; 8 b = t; 9 }10 //反转11 void reversed(int a[],int length){12 int left = 0;13 int right = length - 1;14 while (left < right) {15 replaced(a[left], a[right]);16 left++;17 right--;18 }19 }20 void output(int a[],int length)21 {22 for (int i = 0; i

 斐波那契数列

1 #include 
2 3 using namespace std; 4 5 //斐波那契数列 6 int qiebona(int a) 7 { 8 //也可以用if语句 9 switch (a) {10 case 1:11 case 2:12 return a;13 break;14 15 default:16 return qiebona(a-1)+qiebona(a-2);17 break;18 }19 }20 int main()21 {22 //验证斐波那契函数23 cout << qiebona(1) << endl;24 //然后打印前n个数的斐波那契数列25 for (int i = 1; i <= 10; i++) {26 cout << qiebona(i) << " ";27 }28 return 0;29 }

 Reverse反转单链表算法

1 #include 
2 3 using namespace std; 4 //1首先这个数据节点中只有一个指针作为成员数据,所以这是一个单链表的节点结构 5 struct node{ 6 int payload; 7 node* next; 8 }; 9 //2对于一个长的单链表的操作,我们只能这个长链表的第一个节点或者说是第一个指针指向的节点开始操作10 node* reversed(node* first){11 //3如果链表为空或者只有一个,那就返回它自己呗12 if (first->next == nullptr || first == nullptr) {13 return first;14 }//4如果有下一个实例,就15 //5获取下一个实例16 node* second = first -> next;17 //这里就是递归,18 node* new_head = reversed(second);19 /*6 将下一个节点内部指针的方向反转,但是在反转之前,也要获取这下一个节点原来指向的下下个节点,也就是说,在这个操作之前,要在通过下一个节点获取下下一个节点.20 假设在前一步加:node* third = second->next;但是这个简单的思路有局限性,当链表很长的时候,后面会重复这个获取下一个节点的过程,这样肯定是不明智的,因为链表的个数不确定,你就不知道要写多少代码,所以最好的办法就是通过递归重复执行前面相同的步骤(即算法)*/21 second -> next = first;22 first -> next = nullptr;23 return new_head;//7由于递归的特性,最后的return返回值会往前传递到最前面24 }

 

转载于:https://my.oschina.net/u/2363463/blog/635619

你可能感兴趣的文章
机器学习资料大汇总
查看>>
Python selenium 滚动条 详解
查看>>
poj1035Spell checker
查看>>
微信程序开发
查看>>
如何退出minicom【学习笔记】
查看>>
C++内存布局之虚拟继承
查看>>
Sqlserver 数据库基本查询
查看>>
图书馆维护系统总结
查看>>
[hadoop源码阅读][5]-counter的使用和默认counter的含义
查看>>
SAP HUM 如何对一个HU做上架?
查看>>
LINUX系统中动态链接库的创建与使用{补充}
查看>>
三维视觉国际会议首度在中国举办
查看>>
达索系统入手XFlow开发商 强化3DEXPERIENCE平台的仿真能力
查看>>
Loadrunner 性能测试服务器监控指标
查看>>
自动化运维工具之ansible
查看>>
memcached的安装
查看>>
freebsd系统安装
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
JavaScript函数eval()
查看>>