Servlet允许跨域访问(Ajax请求Servlet数据) 之前用Servlet写过一个用户信息管理的服务端程序,是用于安卓app上的HTTP请求,现在想把这个客户端部分内容在网页重现,尝试用Ajax请求url为“xxx.do”的数据发现不行,浏览器开发者模式提示不允许跨域访问。 于是在Java代码HttpServletResponse处添加如下代码,使用 CORS协议允许 Response 跨域。 12345678910/* 允许跨域的主机地址 */r 2020-09-21 js #js
哈夫曼树,编码解码 定义给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。 树结构12345678910111213141516171819202122232425262728293031323334353637class Node{public: 2020-09-19 c++ #数据结构 #c++ #哈夫曼
堆的基本操作:插入元素、删除最大元素 最大堆结构定义12345678910class Heap{ vector<int> vec;//用向量来构造堆 public: Heap() {} ~Heap(){} void insert(int n);//插入 void erase();//删除最大值 void display();//按层 2020-09-19 c++ #数据结构 #c++ #堆
满二叉树、完全二叉树、平衡二叉树、堆、哈夫曼树的概念 一、满二叉树 一棵二叉树的结点要么是叶子结点,要么它有两个子结点(如果一个二叉树的层数为K,且结点总数是(2^k) -1,则它就是满二叉树。) 二、完全二叉树 若设二叉树的深度为k,除第 k 层外,其它各层 (1~k-1) 的结点数都达到最大个数,第k 层所有的结点都连续集中在最左边,这就是完全二叉树。 三、平衡二叉树 它或者是一颗空树,或它的左子树和右子树的深度之差(平衡因子)的绝对值 2020-09-19 数据结构 #二叉树 #数据结构
二叉搜索树的插入、删除节点 二叉树结构定义123456789101112131415161718192021struct Node{ int data=0; Node* parent=NULL; Node* lchild=NULL; Node* rchild=NULL; Node(int n) { data=n; }};class 2020-09-19 c++ #二叉树 #数据结构 #c++
二叉树的遍历(前序、中序、后序)*(递归、非递归)共6种 二叉树结构定义1234567891011121314151617struct Node{ int data=0; Node* parent=NULL; Node* lchild=NULL; Node* rchild=NULL; Node(int n) { data=n; }};class BinaryS 2020-09-19 c++ #二叉树 #数据结构
VSCode C++断点调试配置 之前一直使用VS2019调试c++程序,但是平时写得比较多的单个cpp文件也需要建一个VS项目给人的感觉有些冗杂,接触了VSCode之后就被它的轻量和高扩展性吸引了,是时候把断点调试功能也配置好,尽量不用VS2019了。 在这之前需要安装好MinGW,配置好环境变量。 然后安装这个插件 CodeLLDB 打开空文件夹,新建cpp文件,可以先设置好断点 点击创建launch.json文件,选择C 2020-09-18 软件安装配置 #软件安装配置 #c++
递归应用:汉诺塔、数制转换 汉诺塔如下图所示,从左到右有A、B、C三根柱子,其中A柱子上面有从小叠到大的n个圆盘,现要求将A柱子上的圆盘移到C柱子上去,期间只有一个原则:一次只能移到一个盘子且大盘子不能在小盘子上面,求移动的步骤和移动的次数 n == 1 第1次 1号盘 A—->C sum = 1 n == 2 第 2020-09-18 c++ #数据结构 #c++ #递归
递归的基本概念 什么是递归?递归就是自己调用自己,引用一个经典故事理解: 从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?“从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?‘从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……’” 故事调用故事本身,层次越来越深…… 使用递归的条件1.问题本身可以分解为子问题,并且与原问题有相同的 2020-09-18 c++ #递归
双向链表简单示例 双向链表与双向链表相比,每个元素都有两个指针分别指向前后两个元素,这意味着双向链表可以双向遍历。 简单例子如下 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767 2020-09-18 c++ #数据结构 #链表 #c++