- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 插入排序-C++
插入排序-C++假设你得到100个值,怎么进行排序呢?其中一种思路是:找到最小值,移到最前面。然后查找第二小的值,移动到第一个值的后面,然后查找第三小的值,移动到第二个值的后面。这就是插入排序。假如有如下数值序列:3 1 2首先把1移到第一个位置:1 3 2然后把2移到第二个位置:1 2 3由此,我们可以先遍历整个数组(用数组存储数值序列),从第一个元素开始,查找数组中剩下的元素中最小的值(数组中未排序的部分),然后和当前索引的值进行交换(当前值需要移到其他地方)。采用自顶向下的设计方法,
2021-03-18 13:34:48
179
原创 产生随机数-C++
产生随机数-C++一、 随机某些情况下,程序依赖随机,俄罗斯方块就是一个典型的例子。为了让俄罗斯方块游戏更有意思,程序需要随机选择每一次方块的形状和朝向。要生成随机数,计算机需要一个种子(一个数值),利用数学变换转换成另一个值。如果每次采用不同的种子,程序便会产生不同的数值序列。这里的数学变换需满足:让所有数字的生成概率相等但不会有明显的计算模型(例如,不会只是每次对数字加1)。二、获取随机数综上,获得随机数分两步:设置随机的种子,种子通过特定的数学变换产生随机数。1.设置随机的种子我们使用c
2021-03-16 23:44:57
198
原创 Huffman编码-python代码实现
Huffman编码-python代码实现统计编码:根据信源的概率分布进行可变长编码,使平均码长接近熵。Huffman编码是一种统计编码,是消除编码冗余常用的技术。它的基本原理是按照信源符号出现概率的大小进行排序,概率大的分配短码,概率小的分配长码。Huffman编码算法1:将信源符号按照出现概率从小到大排序,记为p1>=p2>=…>=p{m-1}>=p{m}2:给最小的概率赋予符号1,倒数第二小的概率赋予符号03:计算联合概率pi=p{m-1}+p{m},将未处理的m-2
2021-01-07 22:13:48
1225
1
原创 C++习题:编写程序由从标准输入设备读入的元素数据建立一个 int 型 vector 对象,然后动态创建一个与该 vector 对 象大小一致的数组,把 vector 对象的所有元素复制给新 数组。
C++ primer 4th Exercise 4.28题目:编写程序由从标准输入设备读入的元素数据建立一个int 型 vector 对象,然后动态创建一个与该 vector 对象大小一致的数组,把 vector 对象的所有元素复制给新数组。参考代码:#include <iostream>#include <vector>using namespace std;/*C++ primer 4thExercise 4.28*/int main(){ in
2020-06-05 15:42:22
357
原创 SQL Server2012导入平面文件源时报错的解决方法
报错类型"平面文件源错误输出列的数据类型为DT_TEXT,Unicode文件不支持此数据类型.请改用DT_NTEXT,然后使用数据转换组件将数据转换为DT_TEXT".我的文本文件是unicode编码,连接管理器中常规标签下勾选unicode,高级标签下所有字段类型全部为Unicode 文本流.解决方法:在文本编辑器中打开要导入的txt文件(我用的是notepad++)→编码选项→使用ANSI...
2020-03-30 14:25:01
1329
原创 【新手记录】冒泡排序优化算法的完成历程
新手第一次写冒泡排序,也是花费了一定的时间。其中一些细枝末节的地方写下来,给自己提个醒,同时也是记录自己的成长点滴。一、伪代码外层循环:for i = 0 到 .length-1 //最后一个元素不用排布尔变量 f = true //判断数组是否为有序组,默认是有序组内层循环:for j = 0 到 .length-1-iif data[j] > data[j+1]swap(...
2020-01-11 22:27:19
154
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人