Skip to content

Instantly share code, notes, and snippets.

@diaolizhi
diaolizhi / random.java
Last active October 22, 2018 10:59
Java 数组随机打乱顺序
public static void shuffle(Object[] a) {
//判断数组 a 是否可以转为整型数组
validateNotNull(a);
int n = a.length;
for (int i = 0; i < n; i++) {
int r = i + uniform(n-i); // between i and n-1
Object temp = a[i];
a[i] = a[r];
a[r] = temp;
}
@diaolizhi
diaolizhi / close.cs
Created October 21, 2018 14:00
C# winform 关闭窗口前确认
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = (MessageBox.Show("Sure?",
"Exit",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question) == DialogResult.Yes);
DialogResult result = MessageBox.Show("提示", "确定退出吗?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
@diaolizhi
diaolizhi / Form2.cs
Created October 17, 2018 12:05
c# 单例窗口及其关闭处理
public partial class Form2 : Form
{
//唯一实例
private static Form2 obj = null;
private Form2()
{
//初始化控件(自动生成)
InitializeComponent();
}
@diaolizhi
diaolizhi / Singleton.cs
Last active October 17, 2018 11:25
c# 一般情况下的单例模式
class OnlyYou
{
//构造函数
private OnlyYou()
{
}
//注意类型是 OnlyYou,并且是静态的
private static OnlyYou obj = null;
@diaolizhi
diaolizhi / ShortcutKeys.cs
Created October 17, 2018 11:03
c# 为控件设置快捷键
this.查看帮助ToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.D5 | Keys.Control;
@diaolizhi
diaolizhi / c#_gbk_encode.cs
Created October 16, 2018 14:41
C# gbk 编码
//使用之前:
//项目 -> 添加引用 -> 搜索 System.web 添加
string str = System.Web.HttpUtility.UrlEncode("机械键盘", System.Text.Encoding.GetEncoding("GB2312"));
@diaolizhi
diaolizhi / LinkedList.java
Last active October 13, 2018 11:24
Java 链表
/**
* void deleteLast() 删除最后一个元素
* void delete(int k) 删除第 k 个元素
* boolean find(LinkedList list, String key) 查找链表中是否存在某个结点的值域为 key
* void removeAfter(Node node) 删除该结点的后续结点
* void insertAfter(Node node1, Node node2) 将第二个结点放在第一个结点后面
* void remove(LinkedList list, String key) 删除所有值为 key 的结点
* int max(LinkedList first) 接收一个首结点,返回值最大的结点的值,为空返回 0
* int max(LinkedList first) 用递归解决
*/
@diaolizhi
diaolizhi / inner.java
Created October 13, 2018 11:23
创建泛型类中内部类对象
//内部类依赖于外部类,所以要先创建外部类对象
//第一种方式:
Outter outter = new Outter();
Outter.Inner inner = outter.new Inner(); //必须通过Outter对象来创建
//第二种方式:
Outter.Inner inner1 = outter.getInnerInstance();
//如果外部类是泛型类,可以这么写
@diaolizhi
diaolizhi / LinkStack.java
Last active September 29, 2018 12:14
链表实现的栈
/**
* 栈的特点是后进先出,新的元素在栈顶,出栈也是从栈顶出。
* 栈存放的是一个个节点,每个节点存放一个对象的引用,和一个链接。
* 这个链接指向下一个节点或者 null。
* 栈中的 first 变量链接第一个节点。
*/
import java.util.Iterator;
import java.util.Scanner;
@diaolizhi
diaolizhi / 0929-3.java
Created September 29, 2018 12:04
打印整数的二进制数
Stack<Integer> stack = new Stack<Integer>();
while(N > 0) {
stack.push(N % 2);
N = N / 2;
}
for(int d : stack) {
System.out.print(d);
}
System.out.println();