- 博客(17)
- 收藏
- 关注
原创 quickSort
快速排序,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。实现代码如下。/*************************************************** quickSort.c *** 快速排序的实现*******
2013-07-25 15:35:16
502
原创 mergeSort
归并排序是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序是一种稳定的排序算法。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。归并排序采用经典的分治策略,同时也是分析递归例程的经典实例。实现代码如下。
2013-07-25 15:12:27
497
原创 heapSort
二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。用最大堆实现堆排序的代码如下。/********
2013-07-25 15:00:03
466
原创 shellSort
希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法实质上是一种分组插入方法。1先 取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。2所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;3然后,取第二个增量d2 实现代码如下。
2013-07-25 14:35:45
526
原创 insertSort
插入排序由N-1趟排序组成。对于P=1趟到P=N-1趟,插入排序保证位置0到位置P上的元素为已排序状态。实现代码如下。/*************************************************** insertSort.c *** 插入排序的实现*************************************************/#include
2013-07-25 14:22:12
619
原创 reverseStr
1,字符串逆序,要求不分配额外的空间。(不用递归)可采取的思路,声明两个指针变量,分别指向字符数组的首字符和最后一个字符('\0'前的一个字符)。因为字符数组的地址是连续的,则可通过比较指针的大小来控制循环的终止。代码如下。#include char *reverseStr( char *str ){ char *p = str; char *q = str; char tmp
2013-07-24 00:10:37
827
原创 myStrstr
strstr的功能是,在src中查找整个dst第一次出现的起始位置,若找到返回一个指向该位置的指针,没找到返回NULL。如果dst是一个空字符串,函数返回src。代码如下。#include char *myStrstr( const char *src, const char *dst ){ int nLen = 0; if ( '\0' == *dst ) { ret
2013-07-23 16:36:09
1335
原创 myStrchr
strchr函数的功能是,找字符串中首次出现查找字符的首次位置,找到返回所找字符在字符串的第一次出现的位置,没找到则返回NULL。实现代码如下。#include char *myStrchr( char *src, char ch ){ /** *** move pointer until find or *src = '\0' **/ while ( '\0' != *src
2013-07-23 12:03:17
573
原创 myStrlen
strlen函数的功能,从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,返回字符串的实际长度。注意不包括 '\0' 字符。实现的代码如下。#include unsigned int myStrlen( const char *src ){ int nLen = 0; /** *** count u
2013-07-23 10:50:04
1217
原创 myStrcat
strcat函数的功能,把src所指字符串添加到dst结尾处(覆盖dst结尾处的'\0')并添加'\0'。需要注意的是,src和dst所指内存区域不可以重叠且dst必须有足够的空间来容纳src的字符串。返回指向dst指针。代码如下。#include char *myStrcat( char *dst, const char *src ){ char *tmp = dst; /**
2013-07-23 10:07:29
1352
原创 myStrcmp
实现strcmp的功能,代码如下。/******************************************************************** created: 2012/09/22 created: 22:9:2012 23:13 filename: E:\myStrcmp\myStrcmp.c file path: E:\C\myStrcmp
2013-07-23 00:41:03
1060
原创 myStrncpy
实现myStrncpy的功能,代码如下。/******************************************************************** created: 2012/09/06 created: 6:9:2012 23:56 filename: E:\C\myStrncpy\myStrncpy.c file path: E:\C\mySt
2013-07-23 00:32:09
711
原创 myMemcpy
自己编写实现memcpy的功能并测试。代码如下。#include #include #include void *myMemcpy( void *dst, const void *src, int num );int main(){ char str[] = "String has\0 been copied!\n"; char dst[128] = " "; int n
2013-07-23 00:06:51
489
原创 myStrcpy
1,不调用C++/C的字符串库函数,请编写函数 strcpy。/******************************************************************** created: 2012/09/06 created: 6:9:2012 21:17 filename: E:\C\strcpy\myStrcpy.c file path: E:
2013-07-22 23:52:57
1416
原创 oracle自学(三)
oracle中,写sql应注意的基本事项:•SQL 语句对大小写不敏感•SQL 语句可以写成一行或多行•关键字不能简写或分开折行•子句通常放在不同的行•缩进用于增强可读性1,简单查询:一般形式如下。SELECT 字段名1,字段名2,… FROM 表名1,[表名2,…] WHERE 条件
2013-07-22 23:37:21
528
原创 oracle自学(二)
创建表和约束创建表语法格式: CREATE TABLE创建约束语法格式:ALTER TABLE命令 ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束内容。CREATE TABLE INFOS( STUID VARCHAR2(7) NOT NULL, --学号 学号=‘S
2013-07-22 22:28:31
438
原创 oracle自学(一)
在Oracle开发中,客户端把SQL语句发送给服务器,服务器对SQL语句进行编译、执行,把执行的结果返回给客户端。OracleSQL语句由如下命令组成:Ø 数据定义语言(DDL),包括CREATE(创建)命令、ALTER(修改)命令、DROP(删除)命令等。Ø 数据操纵语言(DML),包括INSERT(插入)命令、UPDATE(更新)命令、DELETE(删除)命令、SELECT … FOR
2013-07-22 22:09:02
513
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人