主页

算法(一)——快速排序

前言这是我的算法整理的第一篇,其实之前已经有在根据《算法图解》进行整理了,但是像二分查找之类的都还算简单,直到最近复习到快速排序,虽然用分治角度重新认识了这个算法,但是感觉细节部分还是有很多讲究,索性写一篇博客整理一下。 算法概述 快速排序的时间复杂度受枢轴选择的影响。 最糟时间复杂度情况为:每次选择的枢轴均为子列表的最值,即每次分解的3部分中有一部分是空表,这样时间复杂度为O(n^2^)(n+n

C语言基础填坑(一)——多维数组

背景舍友今天突然问我怎么把数组传入函数,我一开始心想这不是小儿科了吗,就说传指针。不过这时候我已经隐约感到有点知识空缺了,因为一时对直接传值传入数组好像没有概念了。然后舍友又遇到问题了,我一看才知道是要传入多维数组。我又想,多维和一维的存储是类似的啊,多维的存储仍然是线性的,只是需要切分成几段而已,所以应该也不难。但是上来我就蒙了:12int a[3][3];int *p = a; 按照我的逻辑,

Java I/O简要笔记(一)——基础部分

因为以Android开发为主要目的,本篇博客的主要参考资料为Android Developers的文档。 Java I/O基础Java I/O主要包括如下几个层次,包含三个部分: 流式部分――I/O的主体部分; 非流式部分――主要包含一些辅助流式部分的类,如:File类、RandomAccessFile类和FileDescriptor等类; 其他类–文件读取部分的与安全相关的类,如:Seri

Android实战记(三)——实现弹出日期选择对话框

这次同学提出了一个问题,他没搞懂怎么利用DatePicker实现弹出窗口选择日期的逻辑。于是我看了看官方文档,发现官方对使用Picker专门写了一篇指南。有指南当然是最好了。这篇指南里还有弹出窗口选择时间的例子,跟选择日期的例子很相近,此处不赘述了。 之前已经学习过使用AlertDialog,而此次的DatePickerDialog就继承于AlertDialog,本来感觉会与其有很多相似之处,但其

Android实战记(二)——使用本地广播实现强制下线

还是《第一行代码》中的例子,这次是广播一章最后的实例,利用广播实现强制下线。 1. 使用TextInputLayout原书中在登录用的LoginActivity里使用的是EditText,但是Android Studio提供的LoginActivity模板中在文本框外嵌套了TextInputLayout。经过查阅资料发现,TextInputLayout能实现很多有意思的功能。先来看看官方文档怎么说

Android实战记(一)——用ConnectivityManager管理网络连接

最近看《第一行代码》看到了广播那一章,跟着书写到动态注册监听网络变化的那一节。其中一段代码如下:123456789101112131415public class MainActivity extends AppCompatActivity { ... class NetworkChangeReceiver extends BroadcastReceiver {

Android第六课——活动的生命周期

活动的生命周期返回栈Android使用任务(Task)来管理活动。一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(Back Stack)。启动新活动时,该活动入栈,居于栈顶。按下Back键或调用finish()方法销毁活动时,处于栈顶的活动出栈,前一个入栈的活动居于栈顶。系统总是显示处于栈顶的活动给用户。 活动状态每个活动在生命周期内最多有4种状态。 运行状态:活动位于返回栈栈顶时

Android第五课——进阶组件之Intent初探

Intent Intent 会在运行时将各个组件相互绑定(您可以将 Intent 视为从其他组件请求操作的信使),无论组件属于您的应用还是其他应用。 Intent是Android程序中各组件之间交互的重要方式,不仅可指明当前组件想要的动作,还能在不同组件间传递数据。 Intent包含的部分:组件名称,操作,数据,类别,Extra,标志 显式Intent 显式Intent指定明确的上下文和要转

Android第四课——进阶组件之Toast与菜单

进阶组件Toast12345678910//Toast是android.widget包内的类//makeText是Toast的静态方法,返回一个按照参数生成的ToastToast toast = Toast.makeText(context, text, duration);toast.show();//context相当于一个场景、情景,application/service/activity都

Android第三课——测试与调试

测试与调试log类与logcat工具分类 Log.v(),对应verbose级别,最低的日志级别 Log.d(),对应debug级别,运行时会被去掉 Log.i(),对应info级别 Log.w(),对应warn级别 Log.e(),对应error级别用法 传入两个字符串参数 tag,一般传入当前的类名即可,用于对打印信息进行过滤 msg,想要打印的具体内容 输入logX按TAB即可补全对应的