暑期面试题
Hu.先森
这个作者很懒,什么都没留下…
展开
-
直接插入排序——C++
//直接插入排序算法 void InsertSort(int a[],int n) { for (int i = 1; i < n; i++) { if (a[i] < a[i - 1]) { int j = i - 1; int tmp = a[i]; while (tmp < a[j]) { a[j + 1] = a[j]; j--;...原创 2020-04-04 20:10:38 · 203 阅读 · 0 评论 -
寻找链表的环(C++)
//寻找链表的环 ListNode* FindLink(ListNode* head) { if(head == nullptr) return nullptr; ListNode* slow = head->next; if(slow == nullptr) return nullptr; ListNode* fast = ...原创 2020-04-04 19:19:16 · 439 阅读 · 0 评论 -
重建二叉树(C++)
//重建二叉树 //例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 struct TreeNode{ int val; TreeNode* left; TreeNode* right; }; //重建二叉树 TreeNode* ReConstructTree(vector<int>...原创 2020-04-04 19:18:03 · 2623 阅读 · 0 评论 -
从上至下打印二叉树(C++)
struct TreeNode{ int val; struct TreeNode* left; struct TreeNode* right; TreeNode(int x): val(x), left(NULL),right(NULL){ } }; vector<int> CenShowTree(TreeNode* pRo...原创 2020-04-04 19:16:48 · 436 阅读 · 0 评论 -
归并排序(C++)
void Merge(int arr[],const int left,const int right,const int middle) { int temp[right-left+1]; int i = left; int j = middle + 1; int k = 0; int m = 0; while(i <= middle &a...原创 2020-04-04 19:15:43 · 111 阅读 · 0 评论 -
冒泡排序(C++)
void BubbleSort(vector<int> &arr) { if(arr.size() == 0) return; for(int i = 0; i < arr.size();i++) for(int j = 0;j < arr.size()-i;j++) { if...原创 2020-04-04 19:06:06 · 125 阅读 · 0 评论 -
二分查找(C++)递归版本+循环版本
#include <iostream> #include <vector> #include <queue> using namespace std; //循环 int BinarySearch(vector<int> arr,int left,int right,int target) { while(left <= right)...原创 2020-04-04 19:03:59 · 321 阅读 · 0 评论 -
暑期实习面试题——指针与引用的区别
一、指针 下面这个超链接是之前写的关于指针的详解 指针详解 二、引用 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。简单点说就是声明一个标识符为引用,就表示该标识符是另一个对象的外号。 三、引用和指针的相同点 1、指针和引用都可以优化传参效率 2、都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。 四、引用和指针的不相同点 1、指针...转载 2020-04-04 15:09:34 · 153 阅读 · 0 评论