斐波那契数列
斐波那契数列
定义
斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........这个数列从第3项开始,每一项都等于前两项之和.
公式 \[
a_n=a_{(n-1)}+a_{(n-2)}
\]
123456789101112131415161718#include <stdio.h>int main(){ int array[40]; int arraysize = sizeof(array)/sizeof(array[0]) ; int i = 0; array[0] = 1 ; array[1]=1 ; for(i = 2;i<arraysize;i++){ array[i]=array[i-1]+array[i-2]; } for (size_t j = 0; j < ...
冒泡排序
冒泡排序
冒泡排序(Bubble
Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。
算法实现过程
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
> 人类语言:😜从第一个开始依次比较相邻的两个元素
如果后面的数字小于前面的
交换两数的位置,在使用交换后的数据比较,直到最后一个。每次把最大的数字放到后面。
### 图片演示
每次确定一位最大的数字。每次循环次数比上一次少一位 >
如果一个数组长度是5 长度记为 len > 则比较轮数就是
数组长度减一 记作 i < len -1 >
每次 ...
选择排序
选择排序
选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²)
的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。
## 算法实现过程 1.
首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。 2.
再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
3. 重复第二步,直到所有元素均排序完毕。 >
人类语言:😜从第一个开始依次比较后面所有位置的数据。每次确定一个位置的数据
### 图片演示 > 图片来自菜鸟教程。 > >
每次确定一位的数字。每次循环次数比上一次少一位 > 如果一个数组长度是5
长度记为 len > 则比较轮数就是
数组长度减一 记作 i = 0; i < len-1;
i++ > 后面位数据的位置记为 j = i+1 ; j <
len;j++ 12345678910111213141516171819202122232425262728293031323334//冒泡排序#include< ...
Linux vim的使用
vi/vim编译器的使用
这是我的的一个博客
为什么要学习vi/vim编辑器
在工作中, 要对 服务器上的 文件进行 简单 的修改, 可以使用 ssh
登录到远程服务器上, 并且使用 vi编辑器
进行简单的编辑即可需要修改的文件包括源代码配置文件
vi 和 vim
vi是 visual interface的简称, 是linux中最经典的文本编辑器vi
的核心设计思想让程序员的手指始终保持在键盘的 核心区域,
就能完成所有的编辑操作
标题vi 三种工作模式切换
终端命令行下,使用 " vi 文件名 ",进入vi 编辑器。
vi 编辑器分为三种工作模式:一般指令模式、编辑模式、命令行模式。
(要点:无论处于那种工作模式,按 Esc键
都可进入一般指令模式。编辑模式和命令行模式的切换,必须要经过一般指令模式)
一般==指令模式==:刚进入vi
时的默认模式。这个模式下能够进行:==移动光标、整行的复制粘贴、整行删除
等基本操作==。
==编辑模式==:在一般指令模式下,==按 "a" "i" "o"
均可进入编 ...
Android页面跳转
安卓
页面跳转
123456Intent intent = new Intent(上下文,需要跳转的页面);1、Intent intent = new Intent(getApplicationContext(),DataActivity.class);2、Intent intent = new Intent(this,DataActivity.class);startActivity(intent);//跳转语句
清除当前窗体
12finish();释放内存
信息传递
存放要传递的信息
方法一
123456Bundle bundle = new Bundle(); //新建Bundle对象 ,用于存放数据bundle.putSerializable("名字",数据);// 向Bundle对象添加序列数据 Jsonbundle.putSerializable("BaseResponseEntity",response);bundle.putString("baseUrl",baseUrl);//向Bundle对 ...
Android新大陆云平台API使用
API-介绍
在进行云平台操作之前需要开启网络权限
1<uses-permission android:name="android.permission.INTERNET">
登录云平台
基本API
1234567891011private final String baseUrl = "http://api.nlecloud.com"; //新大陆的URL public NetWorkBusiness netWorkBusiness; // 对象声明 netWorkBusiness = new NetWorkBusiness(暂时填写空字符串,新大陆网址);//实例化对象 netWorkBusiness.signIn(new SignIn(用户名, 用户密码), new NCallBack<BaseResponseEntity<User>>(获取自己的Context) { //绑定用户 和密码 @Override p ...
Android 添加库
新建与添加新大陆jar
1、新建Android工程
2、切换到项目视图下
2.1在app文件夹下找到libs的文件夹
2.3将第三方的jar放入
本地的三个库。例如串口的4150 zigBee 大白块等。走串口服务器的 网络通信
都是这三个。
云平台的
将需要的jar放入libs后 在jar文件上右键 如果有多个 jar文件 全选jar
在右键
找到add As Library 将第三方jar添加到项目中
注:这里一般选择确定就可
2.4 添加完成后
jar会有下级菜单
并且在build.gradle会有显示
住:有的电脑会不显示 如果不影响使用 则不需要管
如果不能使用则需要添加标注的那句话