- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 用c实现的简单linux shell
直接上代码吧!注释写的很清晰。首先头文件:// 头文件#include #include #include #include #include #include #include #include #include #include #include #define MAX_PROMPT 1024//提示符最大长度#define MAXLINE 4096
2015-06-25 20:10:53 961
原创 java中的应用和c++中的指针的区别
传值还是传引用?基本类型数据传值,对象类型传引用。1、类型:引用其值为地址的数据元素,java封装了的地址可以转成字符串查看,c++指针是一个装地址的变量,可以认为是int。2、所占内存:引用声明时没有实体,不占空间。c++指针如果声明之后用到才会赋值,否则不会分配内存3、初始值:引用初始值为null,c++指针是int,如不初始化则值不定4、引用不可计算,指针可以计算5、
2015-06-30 21:31:30 580
原创 JDK和JRE的区别
JDK和JRE是java开发和运行的工具,其中JDK包含了JRE,但是JRE可以单独安装。JDK是java开发工具,它不仅提供了java程序运行所需的JRE,还提供了一系列的编译、运行等工具,如javac、java、javaw等。JRE只是java程序的运行环境,它最核心的是JVM及核心类库。
2015-06-30 20:46:37 704
原创 各种排序算法之比较
1.时间复杂度 时间复杂度为O(n^2)的排序算法:插入排序、冒泡排序、选择排序 时间复杂度为O(nlogn)的排序算法:堆排序、归并排序、快速排序 希尔排序介于这两者之间2.算法稳定性 稳定的排序算法:插入排序、冒泡排序、归并排序和基数排序 不稳定的排序算法:选择排序、快速排序、希尔排序、堆排序
2015-06-29 21:49:17 963
原创 排序算法之插入排序
void InsertSort(DataList& L){ DataType temp;int i,j; for(i=1;i<=L.n-1;i++){ if(L.elem[i].key<L.elm[i-1].key){ temp=L.elm[i]; for(j=i-1;j>=0&&temp.key<L.elm[j].key;j--) L.elm[j+1]=L.elm[j
2015-06-29 21:22:28 488
原创 折半查找
1.折半查找的非递归算法int BinarySearch(SeqList &L,DataType x){ int high=L.n-1,low=0,mid; while(low<=high){ mid=(low+high)/2; if(x.key>L.data[mid].key) low=mid+1; else if(x.key<L.data[mid].key
2015-06-28 10:08:29 779
原创 排序算法之选择排序
void select_sort(int a[],int len){ int i,j,max,k; for(i=0;i<len;i++) { max=a[i]; k=i; for(j=i;j<len;j++) { if(a[j]<max) { max=a[j]; k=j; } } a[k]=a[i]; a[i]=max; }
2015-06-27 20:36:27 408
原创 排序算法之冒泡排序
冒泡排序:冒泡排序的的优点是好理解,稳定,再就是空间复杂度低,不需要额外开辟数组元素的临时保存控件,当然了,编写起来也容易。其算法很简单,就是比较数组相邻的两个值,把大的像泡泡一样“冒”到数组后面去,一共要执行N的平方除以2这么多次的比较和交换的操作(N为数组元素),其复杂度为Ο(n²),如图:main(){ int a[5]; int i;
2015-06-27 20:30:23 476
原创 排序算法之快速排序
int AdjustArray(int s[], int l, int r) //返回调整后基准数的位置{ int i = l, j = r; int x = s[l]; //s[l]即s[i]就是第一个坑 while (i < j) { // 从右向左找小于x的数来填s[i] while(i = x) j--; if(i < j) { s[i] =
2015-06-27 20:26:27 477
原创 快速排序
int Partition(int *A,int low,int hight){ int key=A[low]; while(low<high){ while(low=key) --high; swap(A[low],A[high]); wh
2015-06-27 16:35:00 428
原创 c中的static变量
当一个进程的全局变量被声明为static之后,它的中文名叫静态全局变量。静态全局变量和其他的全局变量的存储地点并没有区别,但是它只在定义它的源文件内有效,其他源文件无法访问它。static局部变量中文名叫静态局部变量。它与普通的局部变量比起来有如下几个区别:1)位置:静态局部变量被编译器放在全局存储区,所以它虽然是局部的,但是在程序的整个生命周期中存在。2)访问权限:静态局部变量只能被其作用域内的变
2015-06-27 14:53:19 793
原创 c++中的静态成员
c++中,提出静态成员的目的是为了解决数据共享问题,一个给定类的每个对象都有类中定义的所有数据的副本,如果在类中将数据成员用static修饰,则这个类成员只要一个副本,并且它被这个类的所有对象所共享。与类的其他成员一样,静态成员包含静态数据成员和静态成员函数。静态方法不能访问普通数据成员。静态方法直接用类名访问而不需要实例化,在实例化之前普通数据成员是不存在的。
2015-06-27 14:44:28 403
原创 c++中的构造函数和析构函数
析构函数用来释放在类的构造函数中或整个生命期中获得的资源。 在一个类中可以有多个构造函数和一个析构函数。 构造函数允许重载,析构函数不允许重载。 析构函数自动调用。
2015-06-27 14:36:43 401
转载 面试总结二
重点内容此贴为转载,原帖地址:http://blog.csdn.net/derrantcm/article/details/46658823114、java中实现多态的机制是什么答:重写,重载。方法的重写Overriding和重载Overloading是Java多态性的不同表现。 重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果
2015-06-27 09:55:23 1542
原创 宏定义
以下程序#include#define SUB(a) (a)-(a)main(){int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}运行后的结果是:d=SUB(a+b)*c=SUB(2+3)*5=(2+3)-(2+3)*5=5-25=-20以下程序# include#define
2015-06-27 08:58:33 468 1
原创 指针的定义
用变量a给出下面的定义:a.一个整形数。b.一个指向整形数的指针c.一个指向指针的指针,它指向的指针是一个整形数d.一个有10个整形数的数组。e.一个有10个指针的数组,该指针指向一个整形数f.一个指向有10个整形数的的数组的指针。g.一个指向函数的指针,该函数有一个整形参数并返回一个整形数h.一个有10个指针的数组,该指针指向一个函数,改函数有一个整形参数并返回一
2015-06-26 15:49:32 569 2
原创 实习面试题目总结一
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。 finally—在异常处
2015-06-22 20:06:24 608
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人