摘要:插入排序 void InsertSort(vector<int>& arr) { int N = arr.size(); for (int i = 1; i < N; i++) { for (int j = i; j > 0; j--) { if (arr[j] < arr[j-1]) { swap 阅读全文
C/S模式
2019-04-07 22:16 by mengjuanjuan1994, 206 阅读, 0 推荐, 收藏, 编辑
摘要:1. 基于TCP协议的C/S模式 Server #include <iostream>#include <WinSock2.h> //网络头文件using namespace std;#pragma comment(lib, "WS2_32.lib") //网络库int main(){ WSADAT 阅读全文
查找算法总结
2019-03-26 11:49 by mengjuanjuan1994, 153 阅读, 0 推荐, 收藏, 编辑
摘要:1. 顺序查找,时间复杂度O(N) 2. 当序列有序时,采用二分查找,思想为先找中间那个数,如果等于,即找到;如果小于中间的数,即从前半部分查找;如果大于中间的数,即从后半部分查找 3. 有一个数组,从左到右是从小到大,从上到下是从小到大, 例如: 1 3 5 9 2 6 12 20 5 7 18 阅读全文
各种时间复杂度汇总
2019-03-25 22:38 by mengjuanjuan1994, 1491 阅读, 0 推荐, 收藏, 编辑
摘要:1.关于数组和链表 数组:支持随机存取,取数据时时间复杂度O(1) 插入删除的时间复杂度O(N) 链表:不支持随机存取,取数据时时间复杂度O(N) 插入删除的时间复杂度为O(1) 2.排序的时间复杂度 冒泡排序、选择排序、插入排序,平均时间复杂度为O(N^2) 归并排序、快速排序、堆排序,平均时间复 阅读全文
设计模式之设计原则
2019-03-19 22:47 by mengjuanjuan1994, 114 阅读, 0 推荐, 收藏, 编辑
摘要:1. 开闭原则 #include<iostream>using namespace std; //设计模式,开闭原则:增加新功能是通过增加代码来实现,而不是修改源程序//设计一个计算器,实现加减乘除class Calulate{public: virtual int getResult() = 0; 阅读全文
把二叉树打印成多行
2019-03-19 21:33 by mengjuanjuan1994, 140 阅读, 0 推荐, 收藏, 编辑
摘要:/* 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 */ class Solution {public: vector<vector<int> > Print(TreeNode* pRoot) { vector<vector<int> > v_result; vector<int 阅读全文
快速排序的递归遍历和非递归遍历
2019-03-19 20:11 by mengjuanjuan1994, 221 阅读, 0 推荐, 收藏, 编辑
摘要:#include <iostream>#include <vector>#include <stack>#include <time.h>using namespace std; //快速排序的递归实现和非递归实现void QuickSortNormal(vector<int>& arr, cons 阅读全文
二叉树的非递归遍历
2019-03-17 10:59 by mengjuanjuan1994, 135 阅读, 0 推荐, 收藏, 编辑
摘要:#include <iostream>#include <stack>#include <vector>#include <string>using namespace std; class BTNode{public: int val; BTNode* left; BTNode* right; B 阅读全文
约瑟夫环问题
2019-03-03 13:26 by mengjuanjuan1994, 153 阅读, 0 推荐, 收藏, 编辑
摘要:题目 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的 阅读全文
strcpy strcat strcmp memcpy函数的自己实现
2019-03-01 13:50 by mengjuanjuan1994, 246 阅读, 0 推荐, 收藏, 编辑
摘要:#include <iostream>#include <assert.h>using namespace std; char* m_strcpy(char* dst, const char* src){ assert((dst != NULL) && (src != NULL)); if (dst 阅读全文