自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

志存高远

专注于C/C++

  • 博客(190)
  • 资源 (6)
  • 收藏
  • 关注

原创 UITableView中Cell使用标识符重用机制

UITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件。上面主要是一个个的UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以在UITableViewCell中加入UITextField或者UITextView等子视图,使得可以在cell上进行文字编辑。UITableView中的cell可以有很多,一般会通过重用c

2015-12-09 11:40:28 811

原创 数据结构与算法------二分查找

二分查找 1.算法:假设数据按升序排列,取中间位置值,如果目标等于中值,则查找成功;如果目标小于中值,则在中值左侧继续查找;如果目标大于中值,则在中值右侧继续查找;直到找到或者找不到为止。 2.评价:O(logN),数据必须有序。#include<iostream>#include<cstdlib>using namespace std;int bfind(int *data,int si

2015-12-08 16:02:13 639

原创 数据结构与算法------线性查找

线性查找 1.算法:逐个比较,找到为止。 2.评价:O(N),对数据的有序性没有要求。#include<iostream>#include<cstdlib>using namespace std;int lfind(int *data,int size,int value){//线性查找->返回元素下标 for(int i=0;i<size;++i) if(data

2015-12-08 14:47:54 869

原创 数据结构与算法-----归并排序

归并排序(递归合并) 平均时间复杂度O(2NlogN),稳定,对数据有序性不敏感,非就地排序,不适用于对海量数据进行排序。void remoteMerge(int *arr1,int size1,int *arr2,int size2,int *arr3) 此函数属于异地合并,arr1和arr2已经是排好的数据,size1和size2是数组的元素个数,arr3是排序合并的结果数组。 void

2015-12-08 13:05:30 708

原创 深度分析DB2修改表的技巧和方法

DB2修改表操作相信大家都不陌生,下文对DB2修改表方面结合了一些例子进行了详细的分析讨论,供您参考学习。DB2修改表使用ALTER TABLE语句来更改列属性,例如可空性、LOB选项、作用域、约束、压缩属性以及数据类型等等。例如,在命令行中输入:ALTER TABLE EMPLOYEE  ALTER COLUMN WORKDEPT  SET DEFAULT '123'

2015-12-07 16:51:02 2706

原创 数据结构与算法-----搜索和排序(C语言库函数的使用)

qsort(利用快速排序法排列数组) 表头文件 #include#include<stdio.h>#include<stdlib.h>#include<string.h>int cmpInt(const void *a,const void *b){ return *(const int*)a - *(const int*)b;}int cmpStr(const void *a

2015-12-04 16:44:32 1591

原创 数据结构与算法-----快速排序

快速排序 1)算法 A.从序列中找出一个元素作为基准; B.从新组织序列,所有小于基准的元素都位于基准的左侧,所有大于基准的元素都位于基准的右侧,与基准相等的元素可位于基准的任一侧; C.以递归的方式分别对左右两个分组进行排序。 2)评价 平均时间复杂度O(NlogN),不稳定。理论上如果每次都能做到均匀分组,会得到的最快的排序速度。实现要点: 利用左、右边界,准确定位,比较与基准点的

2015-12-04 13:20:27 546

原创 数据结构与算法-----选择排序

选择排序 12 13 15 23 20 31 19 26 24 1)算法 首先在未排序序列中找到最小元素,并于该序列的首元素做交换,再从剩余的未排序序列中继续寻找最小元素重复以上过程,直到未排序序列中仅剩一个元素为止。 2)评价 平均时间复杂度O(N^2),稳定,对数据的有序性不敏感。相对冒泡而言,因为交换的次数少,略优于冒泡。实现要点: 1 由于不知道最小值,那么假设一个值是最小值,那

2015-12-03 10:04:20 492

原创 数据结构与算法-----冒泡排序

冒泡排序 1)算法 A.比较相邻的元素,如果第一个比第二个大就交换它们; B.对每一对相邻的元素都做同样的工作,从开始的第一对到结尾的最后一对。经过这一步,最后的元素是最大值; C.针对所有的元素重复以上步骤,除了最后一个; D.持续每次对越来越少的元素重复以上步骤,直到没有元素需要交换。 2)评价 平均时间复杂度O(N^2),稳定,对数据的有序性敏感。实现要点: 1 .如果有10个

2015-12-02 16:10:21 3682

原创 数据结构与算法-----单向线性链表(逆转和反向打印)

单向链表没有前指针,所以实现反向打印还是比较麻烦,我们这里使用递归原理解决此问题。 这里提到逆转,也就是将单链表的next指针指向前一个节点,我们也使用递归实现。// 练习:实现单向线性链表的建立、测长、正向打印和// 反向打印// 逆转#include <iostream>using namespace std;class List {public: // 构造函数中初始化为

2015-12-01 17:05:43 3934

原创 数据结构与算法-----堆栈-使用链表(链式结构)实现

使用链表实现堆栈,不需要考虑容量问题,所以只需要注意链表是否为空#include<iostream>#include<fstream>using namespace std;class Stack{public: Stack(void):top(NULL){} ~Stack(void){ for(Node *p;top;top=p){

2015-12-01 16:58:16 803

原创 数据结构与算法-----队列-使用链表(链式结构)实现

数据结构:队列结构特点1.基本特征:先进先出2.基本操作:从后端(rear)压入(push),从前端(front)弹出(pop)3.实现要点:初始化空间、从后端指针压入,从前端指针弹出,判空(链表结构只需要判空,不考虑容量不足情况)下面使用链表实现队列结构,那么成员变量就是front和rear两个节点结构的指针变量,front指向前端,rear指向后端#include u

2015-11-30 17:51:56 1493

原创 C语言-----循环双向链表(增加文件读写链表功能)

双向链表其实是单链表的改进。当我们对单链表进行操作时,有时你要对某个结点的直接前驱进行操作时,又必须从表头开始查找。这是由单链表结点的结构所限制的。因为单链表每个结点只有一个存储直接后继结点地址的链域,那么能不能定义一个既有存储直接后继结点地址的链域,又有存储直接前驱结点地址的链域的这样一个双链域结点结构呢?这就是双向链表。在双向链表中,结点除含有数据域外,还有两个链域,一个存储直接后继结

2015-11-25 17:39:13 4688 1

原创 C语言-----循环单链表

#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct node{ char name[32]; struct node *next; }no;unsigned int len=sizeof(no);no* CreatList(unsigned int num){ int i;

2015-11-24 13:22:20 803

原创 Find命令搭配atime/ctime/mtime时的日期写法

find可谓是aix/linux上使用较多的维护用命令,但很多时候需要用到针对时间的搜索。本文主要对find中搭配atime、ctime和mtime的各种参数进行介绍。atime:访问时间(access time),指的是文件最后被读取的时间,可以使用touch命令更改为当前时间;ctime:变更时间(change time),指的是文件本身最后被变更的时间,变更动作可以使chmod、ch

2015-11-23 10:31:57 6910

原创 C语言-----线性单链表

所谓链表,就是用一组任意的存储单元存储线性表元素的一种数据结构。 链表又分为单链表、双向链表和循环链表等。我们先讲讲单链表。 所谓单链表,是指数据接点是单向排列的。一个单链表结点,其结构类型分为两部分: 1、数据域:用来存储本身数据 2、链域或称为指针域:用来存储下一个结点地址或者说指向其直接后继的指针。struct stu{ char name[32];

2015-11-21 22:48:40 2324

原创 Linux c 源码(StrDelAllSpace:去除字符串所有空格)(strpack)

Linux c 源码(StrDelAllSpace:去除字符串所有空格)void pubStrDelAllSpace(char*sStr){int len,k,i;if (sStr == NULL)return;len = strlen(sStr);k = 0;for (i=0; i{if ((sStr[i] !=' ')&&(sSt

2015-11-19 11:21:35 3126

原创 Linux c 源码(getvalbypos根据位置和特定的字符解析所需的信息)

char * getvalbypos( char *pack, int pos, char *cSec, char *val )pack:传入的数据缓冲区数据pos:需要获得的位置数据,如果是0表示得到第一个数据,1表示得到第二个数据cSec:其实就是一个分割字符,由用户指定,例如下面例子的 '| 'val:返回值,返回用户所需的数据元素,例如下面例子的0200 1101 等等下面是示例

2015-11-17 18:20:15 1068

原创 详解 C/C++中struct和typedef struct

今天在linux下使用gcc编译的时候忽然出现了【错误:‘s’的存储大小未知】其中s是结构体变量,然后就仔细观察错误原因,结果竟然是......现总结如下:1 首先://注意在C和C++里不同    在C中定义一个结构体类型要用typedef:    typedef struct Student    {    int a;    }Stu;    于是在声明变量的

2015-11-17 11:12:04 1900

原创 linux下面ftp/wget命令下载文件夹目录

目标ftp服务器是一个非标准端口的ftp1.通过shell登录#ftp    //shell下输入ftp命令,进入到ftp提示符&gt;open IP  PORT   //IP ,PORT对应为服务器的IP和端口号或者直接使用一条语句#ftp  IP  PORT2.多文件下载(对目录无效)如:下载目录下的所有文件(子目录是无法下载下来的)&gt;mget * 这样操作,下载每个文件都会提问,每次都...

2015-11-16 10:49:30 56082 1

原创 linux scp远程拷贝文件及文件夹

scp命令在工作中是比较常用的,所以就总结如下:1、拷贝本机/home/administrator/test整个目录至远程主机192.168.1.100的/root目录下scp -r /home/administrator/test/ root@192.168.1.100:/root/2、拷贝单个文件至远程主机scp /home/administrator/De

2015-11-16 10:36:14 50684

原创 静态SQL和动态SQL的区别和测试实例

由于近期工作比较悠闲,所以就继续学习了数据库SQL的使用,实际工作中接触最多的是SQL编程,那么本博文就主要介绍动态sql和静态sql的使用方法和区别,方便自己以后回忆和学习,如果本博文有幸被浏览者看到,如有瑕疵和错误还请帮忙指正,共同学习和进步。 所谓SQL的动态和静态,是指SQL语句在何时被编译和执行,二者都是用在SQL嵌入式编程中的。 静态SQL:在高级语言中,如果嵌入了SQL语句,而这个

2015-11-09 16:19:21 8533 1

原创 C/C++中static和const关键字的作用总结

static 关键字至少有下列 n 个作用:  (1)函数体内 static 变量的作用范围为该函数体,不同于auto 变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;  (2)在模块内的 static 全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;  (3)在模块内的 static 函数只可被这一模块内的其它函数调用,这个函数的使用

2015-11-05 13:25:08 2233

原创 组织数据结构的能力

将 WAV 文件格式定义为结构体 WAVEFORMAT:typedef struct tagWaveFormat{char cRiffFlag[4];UIN32 nFileLen;char cWaveFlag[4];char cFmtFlag[4];char cTransition[4];UIN16 nFormatTag ;UIN16 nChannels;U

2015-11-04 17:03:11 760

原创 宏定义的使用

写一个“标准”宏 MIN,这个宏输入两个参数并返回较小的一个。另外,当你写下面的代码时会发生什么事?least = MIN(*p++, b);  解答:#define MIN(A,B) ((A)   MIN(*p++, b)会产生宏的副作用  剖析:  这个面试题主要考查面试者对宏定义的使用,宏定义可以实现类似于函数的功能,但是它终归不是函数,而宏定义中括弧中的

2015-11-04 16:07:51 1756

原创 数组以及数组作为参数所占内存问题

以 下 为 Windows NT 下 的 32 位 C++ 程 序 ,请 计算sizeof 的值void Func ( char str[100] ){sizeof( str ) = ?}void *p = malloc( 100 );sizeof ( p ) = ?  解答:sizeof( str ) = 4sizeof ( p ) = 4  剖析:

2015-11-04 15:57:02 3045

原创 swap( int* p1,int* p2 )找错

下面的一段程序有什么错误:swap( int* p1,int* p2 ){int *p;*p = *p1;*p1 = *p2;*p2 = *p;}  在 swap 函数中,p 是一个“野”指针,有可能指向系统区,导致程序运行的崩溃。在 VC++中 DEBUG 运行时提示错误“AccessViolation”。该程序应该改为:swap( int* p1,i

2015-11-04 15:52:29 10486

原创 分别给出 BOOL,int,float,指针变量 与“零值”比较的 if 语句

试题 :分别给出 BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为 var)  解答:   BOOL 型变量:if(!var)   int 型变量: if(var==0)   float 型变量:   const float EPSINON = 0.00001;   if ((x >= - EPSINON) && (x    指针变

2015-11-04 15:51:12 3704

原创 strcpy和strlen找错

试题 1:void test1(){char string[10];char* str1 = "0123456789";strcpy( string, str1 );}  试题 2:void test2(){char string[10], str1[10];int i;for(i=0; i{  str1 = 'a';}strcpy(

2015-11-04 15:44:08 1043

原创 内存操作GetMemory

试题 4:void GetMemory( char *p ){p = (char *) malloc( 100 );}void Test( void ){char *str = NULL;GetMemory( str );strcpy( str, "hello world" );printf( str );}  试题 5:char *GetMem

2015-11-04 15:39:41 739

原创 数据库SQL中Like的用法总结

最近做项目又需要模糊查询了,所以这次就总结一下。语法 match_expression [ NOT ] LIKE pattern [ ESCAPE escape_character ] 参数 match_expression 任何字符串数据类型的有效 SQL Server 表达式。pattern match_expression 中的搜索模式,可以包含下列有效 SQL

2015-11-04 13:39:42 14188

原创 IOS之同步请求、异步请求、GET请求、POST请求

1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作,2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节;4、POST请求,将参数放到body里面。POST

2015-10-30 09:52:49 1192 1

原创 C++【显示类型转换】

显示类型转换 C:目标类型变量 = (目标类型)源类型变量; int n; char c; c = (char)n; C++:五种转换形式 1.C风格的另一种写法 目标类型变量 = 目标类型 (源类型变量); int n; char c; c = char (n); 2.静态类型转换:static_cast<目标类型> int n; char c; c = static_

2015-10-28 11:04:20 719

原创 C++【引用与指针】

引用 1.引用即别名 int a = 10; int& r = a; // r是a的一个别名 r = 20; cout << a << endl; // ? 20 2.引用必须初始化 int& r; // ERROR ! 3.引用一旦初始化,就不能再引用其它变量 int a = 10; int& r = a; int b = 20; r = b; // b -> a 4.引

2015-10-28 11:01:37 746

原创 C++【堆内存的动态分配与释放(new/delete)】

C语言分配动态内存常用函数:malloc/calloc/realloc/free C++语言用new/delete:详见memory.cpp 1.通过new运算符分配单个变量 数据类型* 指针变量 = new 数据类型(初值); int* p2 = new int;int* p3 = new int (100); 2.通过new运算符分配数组 int* p4 = new int[5]

2015-10-28 10:59:37 3285

原创 C++【函数(重载/缺省参数/哑元/内联)】

1.重载在同一个作用域中函数名相同但参数表不同的函数构成重载关系。1)C++是通过换名,即将参数表信息汇合到函数名中,实现重载。通过在函数声明前写上extern "C"显式地告知编译器对该函数用C的方式生成接口,即不做换名。当然不换名的函数无法实现重载。2)函数重载不仅和函数的定义有关,而且与函数调用的上下文有关,只要在同一个作用域中可见,且需要通过重载解析规则确定调用版本,即

2015-10-28 10:55:24 1318

原创 C++【基础常识】

第一个C++程序1.编译器:g++2.扩展名:.cpp/.cc/.cxx/.C3.头文件:C++的标准头文件都没有.h扩展名          C++对C兼容的头文件4.输入输出:cin/cout/cerr,>>/scanf (...) -> fscanf (stdin, ...)printf (...) -> fprintf (stdout, ...)5.名字空间

2015-10-28 10:52:00 672

原创 C++【类与访控属性】

学生    属性:姓名、年龄    行为:学习类就是通过对属性和行为的抽象,描述一组对象的语法结构。1.类的定义class 类名 {};如class Student {};2.通过成员变量表达属性class 类名 {  类型 成员变量名;};如class Student {  string m_name;  int m

2015-10-28 10:38:50 892

原创 C++【错误和异常的处理】

一、程序的错误1.编码错误:编译阶段2.设计错误:测试阶段3.环境错误:使用阶段4.应用错误:测试和使用阶段二、错误处理机制1.通过返回值处理错误当一个函数在执行过程中发生了某种错误,通过函数的返回值告诉函数调用者。malloc/fopen - 成功返回有效指针,失败返回NULL返回无效值表示失败返回0表示成功,返回-1表示失败1)优点:简单、避免崩溃、

2015-10-27 16:42:13 2036

原创 C++【多态】和【覆盖】

多态=虚函数+指针/引用关于多态: 形状:位置,绘制 矩形:宽度、高度,绘制 圆形:半径,绘制 Shape / \ Rect Circle 如果将基类中的某个成员函数声明为虚函数,那么其子类中与该函数具有相同原型的成员函数就也成为虚函数,并对基类中的版本构成覆盖(override)。通过一个指向子类对象的基类指针,或者引用子类对象的基类引用,调用这个虚函数时

2015-10-27 16:28:06 1196

vim配置文件vimrc

高大上的vimrc配置文件,包含自动补全代码功能哦

2016-01-11

sqlapi 源码

此文件夹中包含几个个文件,除了官方的g++程序和文档说明,还包含自己写的demo案例,以及封装的数据库函数,transAction和fetch和sqlapi的cpp文件,以及SQLAPI.h文件 1.transAction.cpp文件主要是关于事务的提交和处理的设置,自动提交or手动提交 2.fetch.cpp文件主要是关于api的基本操作,包括连接数据库,sql语句的执行,绑定sql语句参数的方法,获取结果的方法,以及结果中字段的处理,断开连接,以及异常的处理。 3.sqlapi.cpp文件主要测试数据库优化的性能,主要用于查询的速度的提升 4.SQLAPI.H文件是所有的功能函数的声明。

2016-01-11

cuit单元测试

CUnit是一种C语言单元测试框架 ,继Junit CppUnit的成功后, c语言环境下也出现了开发源码的白盒测试用例CUnit。CUnit以静态库的形式提供给用户使用,用户编写程序的时候直接链接此静态库就可以了。它提供了一个简单的单元测试框架,并且为常用的数据类型提供了丰富的断言语句支持。

2015-10-19

最新VMware 11安装Mac系统补丁unlocker203.zip

最新VMware 11安装Mac系统补丁unlocker203.zip

2015-08-12

小牛在线收益快捷计算

自已也是小牛在线的投资者,闲暇时写了一个计算收益的小软件,为小牛爱好者提供方便。

2015-08-03

struct和union计算方法

规则: 1,对于union,对齐的大小是最大的基本元素的对齐大小;对象的大小必须是该基本元素大小的整数倍; 2,对于struct,对齐的大小也是最大的基本元素的对齐大小,对象的大小需要考虑元素的对齐,并且需要是最大基本元素的整数倍;同时有#pragma pack修饰的情况,关于struct请详细参考另外一个帖子。 3,这里所说的struct和union的对齐,是指其作为其他复杂对象中的元素的时候要求的对齐,对于本身大小的计算并没有关系。本身的大小只和其所包含的基本元素的对齐有关系。

2015-07-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除