1.什么是单例模式?
这种设计模式属于创造者模式,为创建对象提供了一种最佳的方式,这种模式设计到一个单一的类,该类负责创建自己的对象,同时保证只有单一的对象。这个类提供了唯一访问者个对象的方法,可以直接访问,不需要实例化。
注意:
1.单例模式只有一个实例
2.单例类必须自己创造一个实例
3.单例类必须给其它对象提供这一个实例
实例 Windows 是多进程多线程的,在操作一个文件的时候,就不可避免地出现多个进程或线程同时操作一个文件的现象,所以所有文件的处理必须通过唯一的实例来进行
优点:在内存中只有一个实例,减少了内存的开销。(尤其是在频繁的创建销毁时),避免对资源的多重占用。(文件读写操作)
缺点:没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。
2.什么是快速排序,请用代码实现?
快速排序采用的是一种分治的思想(去一个数作为基准数,比它小的数放左边,比它大的数放右边。然后再用递归的思想,分别对左右两边排序,知道左右两边不能再分解为止)
3.
using System;
using System.Collections;
using System.Collections.Generic;
Class Quick{
static void Main(String args[])
{
int [] arr = {4,5,1,2,3,9,20,6};
quickSort(arr,0,arr.length-1);
foreach(int temp in arr)
{
Console.Write(temp+" ");
}
}
//单元排序
public static int unitQuickSort(int low, int high,int []arr)
{