面试
LIUHUANUCAS
信息管理与信息系统--计算机
展开
-
面试遇到的字符串操作
void* memcpy(void* des,const void* src,size_t len){ char* d = (char*)des; const char* s = (const char*)src; while(len--) *d++ = *s++; return dest;}原创 2016-09-23 08:49:29 · 245 阅读 · 0 评论 -
C++ string 类的简单实现
class String{ char* ptr; size_t len; public: String():ptr(nullptr),len(1){} String(const char* str){ len = strlen(str); ptr = new char[++len];// las原创 2016-09-23 10:07:48 · 681 阅读 · 0 评论 -
lower_bound & upper_bound
1.lower_boundlower_bound(T A[],int first,int last,const T &v)输入的元素:A[first,last)A[first,last),不包含最后last所指的元素。 目标:有序数组当中查找一个元素,如果这个元素存在则返回这个元素第一次出现的位置,否则返回这个元素该插入的位置,也就是在这个位置插入之后,数组还是有序的。 如果存在,那么就原创 2016-09-24 11:40:13 · 360 阅读 · 0 评论 -
冒泡排序及其改进
1.冒泡排序是一种非常简单的排序算法。冒泡排序的思想是,进行nn轮排序,每一轮当中把最大的元素或者最小的元素放到末尾的位置上,每一轮比较相邻的两个元素,然后,如果是逆序那么进行交换,可以看出来时间复杂度为O(n2)O(n^2) 第一轮冒泡会把最大的元素放到最后的位置上, 第二轮冒泡会把第二大的元素放到倒数第二的位置上, ⋯\cdots⋯\cdots ⋯\cdots⋯\cdots 第n−1n原创 2016-09-27 17:15:00 · 320 阅读 · 0 评论 -
二分查找及其扩展
之前所说的lower_bound和upper_bound其实就是二分查找的一种扩展形式,在SGI STL里面,二分查找算法实际调用的事lower_bound。所以lower_bound和upper_bound还是非常重要的。主要用到的是二分查找的思想。原创 2016-11-17 19:46:13 · 518 阅读 · 0 评论