C语言学习(一)
来源:互联网 发布:加油站收入 知乎 编辑:程序博客网 时间:2024/04/27 17:36
交换连个数字的几种方法:
// 方法一:
int tmp=a;
a=b;
b=tmp;
// 方法二:
a=a+b;
b=a-b;
a=a-b;
// 方法三:
a=a^b;
b=a^b;
a=a^b;
// 方法四:
b=a-b;
a=a-b;
b=b+a;
解读:
方法一易于理解,没有技术含量;
方法二/方法四从数字的加减法入手解答,每一行都很简单,多个简单的代码行叠加,就造就了不简单的算法(学习的方向)。做人何尝不是呢?活得简单点,没一个简单的过程都做到极致,叠加后的结果就是非常卓越!
方法三该解法的基础是对计算机内存存储的深入了解和理解,然后才能搞明白该算法。程序员对计算机的工作原理需要有更深入的了解
0 0
- C语言学习(一)
- C语言学习(一)
- C语言学习(一)
- C语言学习(一)
- C语言学习(一)
- C语言学习笔记(一)--初识C语言
- C语言学习笔记 (一) C语言的关键字
- C语言学习笔记(一)--认识C语言
- C语言学习笔记(一)
- C语言学习笔记(一)
- C语言深度解剖学习(一)
- C语言学习笔记(一)
- C语言学习笔记(一)
- C语言学习总结(一)
- C语言学习(一)概述,数据类型
- C语言学习笔记(一)
- C语言学习笔记(一)
- C语言学习笔记(一)
- 206. Reverse Linked List
- 观察者模式(Observer)
- java连接sqlserver2008各种坑的解决参考方法
- 第一次打字比赛后的感想
- Django环境配置和测试项目创建
- C语言学习(一)
- 将数组排序,数组中所有的负整数出现在正整数前面(时间复杂度为 O(n), 空间复杂度为 O(1)).
- 第130课: Spark Streaming源码经典解读系列之五:Receiver工作内幕源码解密
- 杭电ACM专题四1004
- #define rXXX (*(volatile unsigned long *)0xxxxxx)
- Java开发中的23种设计模式详解
- 207. Course Schedule
- skynet框架 使用心得
- yuv二值化操作