- 博客(14)
- 资源 (4)
- 收藏
- 关注
原创 查找主串中是否还有子串,如果有则返回匹配的第一个位置
题目:查找主串中是否还有子串,如果有则返回匹配的第一个位置,否则返回-1#include #include int Index(char *origine, char *target){ if (origine ==NULL||target == NULL) //先检查是否为空 { printf("there is a false\n"); return -1;
2013-10-11 10:33:37 4676 1
原创 插入排序算法
下面这段话摘自:http://zh.wikipedia.org/wiki/%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:从第一个元素开始,该元素可以认为已经被排序取出下一个元素,在已经排序的元素序列中从后向前扫描如果该元素(已排序)大于新元素,将该元素移到下一位置重复步骤3,直到找到已
2013-10-10 16:57:19 1201
原创 strstr和memcmp函数的实现
#include #include //malloc()函数typedef unsigned int size_t;size_t my_strlen(const char * str){ const char *sc = NULL; if(str == NULL) return 0; for(sc = str;*sc != '\0';sc++) { /* do n
2013-10-10 11:10:35 4638
原创 判断当前编译器是C++编译还是C编译
使用预处理功能可以判断当前编译器是按照C++来编译还是C编译#include int main(void){#ifdef __cplusplus printf("当前编译器是C++编译\n");#else printf("当前编译器是C编译\n");#endif printf("hello world\n"); return 0;}执行结果:
2013-10-10 10:45:57 3313
原创 预处理
#include int main(void){ printf("本文件名:%s\n",__FILE__); //正在编译的文件的名称 printf("当前行号:%d\n",__LINE__); //正在编译的文件的行号 printf("当前日期:%s\n",__DATE__); //正在编译的日期,如“Dec 25 2013” printf("当前时间:%s\n",__TIME__)
2013-10-09 21:40:14 991
原创 将数组中所有小于或等于0的元素都放在数组前面,大于0的元素放在数组后面
深信服笔试:【编程】对于一个给定的整形数组int array[n],将数组中所有小于或等于0的元素都放在数组前面,大于0的元素放在数组后面#include /* 要求时间复杂度为O(n) */void Divide(int array[],int n){ int i = 0,j = 0; int temp = 0; for(j = 0;j < n;j++) { if
2013-10-09 20:52:12 9117
原创 判断两个链表是否相交
参考:http://blog.chinaunix.net/uid-20754793-id-177773.html判断两个链表是否相交:(假设两个链表都没有环)有以下三种方法:1、判断第一个链表的每个节点是否在第二个链表中2、把第二个链表连接到第一个后面,判断得到的链表是否有环,有环则相交3、先遍历第一个链表,记住最后一个节点,再遍历第二个链表,得到最后一个节点时和第一个链表
2013-10-09 20:30:57 1212
原创 memcpy和strlen函数的实现
#include #include //malloc()函数typedef unsigned int size_t;size_t my_strlen(const char * str){ const char *sc = NULL; if(str == NULL) return 0; for(sc = str;*sc != '\0';sc++) { /* do n
2013-10-09 12:55:18 1883
原创 1的数目
给你一个十进制的正整数N,求1~N所有数中出现“1”的的数目。比如N=2: 1 2 ,1的个数的1.N=5: 1 2 3 4 5 ,1的个数是1。N=12:1 2 3 4 5 6 7 8 9 10 11 12 ,1的个数是5. 希望你能写一个函数F(N),返回1-N之间出现1的个数,F(12)=5;如何求得?方法一:先求某个整
2013-10-08 20:19:13 1471
原创 判断一个数是否为2的次方幂
给定一个整数n,判断它是否为2的次方幂。思路:2,4,8,16,32....都是2的n次幂转换为二进制分别为:10 100 1000 10000 100000这些数减1后与自身进行按位与,如果结果为0,表示这个数是2的n次幂01 011 0111 01111 01111110&01 = 0 100&011 = 0
2013-10-08 17:25:44 15829
原创 求二进制数中1的个数
对于一个32位的无符号整型变量,求其二进制表示中“1”的个数,要求算法的执行效率尽可能高。#include /* 求余和相除相结合的方法 */int Count1(int v){ int num = 0; while(v) { if(v%2 == 1) { num++; } v /=2; } return num;}/* 位移操作代替除、余操作
2013-10-08 16:41:16 1715
原创 内存对齐
#include using namespace std;#pragma pack(2)class A{ int i; union U { char buff[13]; int i; }u; void foo() { } typedef char* (*f)(void*); enum{red, green, blue} color;}a;int main
2013-10-08 16:18:56 1503
原创 2014届华为校园招聘机试题
转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/11132567一、题目描述(60分):通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比如字符串“abacacde”过滤结果为“abcde”。要求实现函数:void
2013-10-05 11:07:59 1312
原创 2013届华为校园招聘机试题
转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/11150519笔试题目(机试,共两题) 题目一:子串分离 题目描述: 通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。 如果
2013-10-05 10:42:02 1377
libartsc.so.0
2013-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人