C++
Kingnoil
这个作者很懒,什么都没留下…
展开
-
C++ static 关键字 总结/ static全局变量和全局变量的区别
首先了解一下内存的分布图:代码区全局数据区堆区栈区代码区:存储代码全局数据区:static 数据, 全局变量, const常量堆区:由程序员自己new出来的动态数据, 需要手动释放。若忘记释放,会造成内存泄漏,则程序结束时会由操作系统回收。栈区:函数内部变量,由IDE自动分配,结束时自动释放。后续可以再仔细研究一下堆区和栈区的区别,这里先不讨论。首先总结static全局变量...原创 2019-02-22 15:08:47 · 4628 阅读 · 1 评论 -
(leetcode)C++实现两个数组的交集||
vector <int> intersect(vector<int>&nums1, vector<int>& nums2){ vector<int> result; map<int, int>temp; for(int i =0; i<nums1.size(); i++) { ...原创 2019-02-26 12:24:04 · 504 阅读 · 0 评论 -
(leetcode)C++实现旋转数组
void rotate(int * nums, int numsSize, int k){ if(nums==NULL||numsSize<=0) return ; int nk = k%numsSize; int middle = numsSize - nk; swap(nums,0,middle-1); swap(nums,middle...原创 2019-02-26 12:14:07 · 423 阅读 · 0 评论 -
(leetcode)C++ 手写从排序数组中删除排序项
int remoceDuplicates(int * nums, int numsSize){int pre = 0;int cur = 0 ;if(numsSize == 0) return 0;while(cur < numsSize){if(nums[pre] == nums[cur])cur++;else{nums[++pre]= nums[cur++];}}...原创 2019-02-26 12:07:42 · 153 阅读 · 0 评论 -
C++ 手写实现字符串转整数atoi函数 (leetcode字符串转整数 atoi)
int Myatoi( string str){ int i =0; int n = str.size(); int flag = 0; //标记正负 int ans = 0; int ans_end = 0; for(i; i<n; i++) { ...原创 2019-02-26 11:53:56 · 1129 阅读 · 0 评论 -
C++手写实现strstr函数(leetcode 实现strstr)
int strStr( string haystack, string needle){ //先抛出两个 字符串都为空和被比较字符串haystack为空的情况 if(haystack.size() == 0 && needle.size() != 0) return -1; if(haystack == " " && n...原创 2019-02-26 11:29:34 · 619 阅读 · 0 评论 -
C++ 实现归并排序(分冶法)
//分void merge_sort(int * data, int start , int end , int * result){ if(1==end - start) //如果区间内只有两个元素 直接对这两元素排序 { if(data[start]> data[end]) { ...原创 2019-02-26 11:02:08 · 280 阅读 · 0 评论 -
C++经典面试题:手写两个单链表判断是否有环,环节点
typedef struct Node{ struct Node *pNext; int data;}Node;Node * FindNode(Node *pHead1,Node * pHead2){ if(pHead1==NULL||pHead2==NULL) return NULL; int nLength1=0; //标记链表一的长度 int nLength2=...原创 2019-02-26 09:55:32 · 376 阅读 · 0 评论 -
C++ 手写单链表反转(ReverseList)头插法
List * Reverse(List * pHead){ if(pHead==NULL||pHead->pNext==NULL) return pHead; //链表小于2不用反转 List *p ,r, q; //定义三个指针 p = pHead; r = pHead->pNext; pHead ->pNext = NULL; //一个指向头,一个标记头的下一...原创 2019-02-25 21:42:51 · 1075 阅读 · 0 评论 -
C++手写快排(QuickSort)
int Sort(int arr[], int nLow, int nHigh){ int temp = arr[nLow]; while(nLow < nHigh) { //从后往前找比标准值小的 while(nLow<nHigh) { if(arr[nHigh]<temp) { arr[nLow]=arr...原创 2019-02-25 17:48:23 · 1117 阅读 · 0 评论 -
C++ 递归/非递归实现斐波那契数列 Golang 闭包实现斐波那契数列
C++ 递归int Fibonacci(int n){ if(n==1||n==2) //1和2不用计算直接返回1 return 1; return Fibonacci(n-1)+Fibonacci(n-2);}C++ 非递归int Fibonacci2(int n){ if(n==1||n==2) return 1; int fn1 = 1; int fn2 = 1;...原创 2019-02-25 17:06:05 · 319 阅读 · 0 评论 -
(leetcode)C++实现移动0
void moveZeroes(vector& nums){if(nums==NULL) return ;int n = nums.size();int temp =0;for(int i =0 ;i <n ; i++){if(nums[i]!=0){nums[temp]=nums[i];temp++;}}while(temp<n){nums[tem...原创 2019-02-26 12:32:18 · 286 阅读 · 0 评论