上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 24 下一页
摘要: 1 阅读全文
posted @ 2013-08-26 02:00 l851654152 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1.去掉重复字符串时间复杂度为O(n)#include using namespace std;int main(){ char str[] = "bdsjiseftftftfyrzsesese"; int length = strlen(str); char *p = str; char hashTable[256] = {0}; for (int i = 0;i using namespace std;int main(){ char *str = "edsjiseftftftfyrzsesese"; char *p = str; char hash 阅读全文
posted @ 2013-08-26 00:06 l851654152 阅读(848) 评论(0) 推荐(0) 编辑
摘要: 1 阅读全文
posted @ 2013-08-25 21:39 l851654152 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 1.循环左移void reverse(char *start,char *end){ char temp = '\0'; while(start "Wuhan. from am I"void reverse(char *start,char *end){ char temp = '\0'; while(start <end) { temp = *start; *start = *end; *end = temp; start++; end--; }}void ReverseSentence(char *str){ char *start 阅读全文
posted @ 2013-08-25 21:04 l851654152 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 1.可以通过记录最后一个节点来判断是否相交while(pa->next){ pa = pa-next;} while(pb->next){ pb= pb->next;}if(pa == pb){...}2.只给定单链表中某个结点p(并非最后一个结点,即p->next!=NULL)指针,删除该结点,无头结点基本原理,讲当前结点的下个一个结点的数据赋值给当前结点,然后释放下一个结点。typedef struct node{ int value; struct node *next;} list_node;void test(list_node* pCur){ list_no 阅读全文
posted @ 2013-08-25 02:28 l851654152 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 使用map统计次数。#include #include #include #include #include using namespace std;void main(){ typedef map::iterator mit; map ma; mit it; ifstream in("in.txt"); int c=0; string str; string st; while( getline(in,str) ) { istringstream ist(str); while( ist>>st ) { it=ma.find(st); if( it!=ma.e 阅读全文
posted @ 2013-08-24 13:57 l851654152 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 一.hash海量数据处理问题:1.最多问题2.topK问题3.相同问题主要是分为三步1.分而治之,这一步是当内存不足时存在如果内存充足可以不需要此步。2.使用字典树trie(针对单词)或者hash_map统计次数(topK问题,最多问题),使用hash_set判断是否有重复。时间复杂度O(N)3.使用堆排序找出最大K个元素。时间复杂度O(N'*logK)http://www.cnblogs.com/sooner/p/3266545.html二.bitmap解决是否存在重复的数,是否存在某个数。是否存在某个数,编程珠玑第一章有具体的例子2.5亿个整数中找出不重复的整数的个数,内存空间不足 阅读全文
posted @ 2013-08-24 13:22 l851654152 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 功能:查找字符在字符串中第一次出现的位置。#include #include using namespace std;char * _strchr(char *str,char c){ while(*str != '\0' && *str != c) { str++; } return *str == c ? str:NULL;}int main(){ char str1[20] = "abcdef"; char c = 'a'; cout << _strchr(str1,c)<<endl; retur 阅读全文
posted @ 2013-08-23 23:59 l851654152 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 功能:将src的前n个字符添加到dest的后面输入:dest,src,count返回:ret#include #include using namespace std;char * _strncat(char *dest,const char *src,int count){ assert((dest != NULL)&&(src != NULL)); char *ret = dest; while(*dest != '\0') dest++; while (count--) { if (!(*dest++ = *src++)) { return ret; } 阅读全文
posted @ 2013-08-23 22:56 l851654152 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 功能:比较两个字符串的ascII码大小输入:两个字符串返回值:相等为0,大于为大于零,小于为小于零#include #include using namespace std;int _strcmp(const char *str1,const char *str2){ assert((str1 != NULL)&&(str2 != NULL)); while (*str1 && *str2 && *str1 == *str2) { str1++; str2++; } return *str1- *str2;}int main(){ const c 阅读全文
posted @ 2013-08-23 22:35 l851654152 阅读(221) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 24 下一页