- 博客(6)
- 收藏
- 关注
原创 排序 - - -归并排序(二路归并)
二路归并排序:基本思想:将两个有序表合并成一个有序表。(将下列两个已排序的顺序表合并成一个已排序表。顺序比较两 者的相应元素,小者移入另一表中,反复如此,直至其中任一表都移入另 一表为止。)二路归并排序的基本思想是将两个有序表合并成一个有序表。给定排序码46,55,13,42,94,05,17,70,二路归并排序过程为://将两个有序序列合并void ...
2019-01-30 19:15:53 1951
原创 排序 - - - 选择排序(简单选择、堆排序)
选择排序:基本原理: 将待排序的元素分为已排序(初始为空)和未排序两组,依次将未排序的元素中值最小的元素放入已排序的组中。简单选择排序:简单选择排序的基本过程为:(1)在一组元素R[i]到R[n]中选择具有最小关键码的元素(2)若它不是这组元素中的第一个元素,则将它与这组元素中的第一个元素对调。(3)除去具有最小关键字的元素,在剩下的元素中重复第(1)、(2...
2019-01-28 13:53:40 612
原创 排序 - - - 交换排序(快速排序、冒泡排序)
交换排序:通过排序表中两个元素的比较,若与排序要求相逆(不符合升序或降序),则将两者交换。快速排序:基本思想:任取待排序序列中的某个元素作为标准(也称为支点、界点,一般取第一个元素),通过一次划分,将待排元素分为左右两个子序列,左子序列元素的排序码均小于基准元素的排序码,右子序列的排序码则大于或等于基准元素的排序码,即找到该元素在数组中顺序排序的位置。然后分别对两个子序列继续进行...
2019-01-21 17:22:37 1792
原创 排序 - - - 插入排序(直接插入排序、希尔排序)
插入排序:基本思想:每次将一个待排序的元素,按其元素的大小插入到前面已经排好序的序列的适当位置,直到全部元素插完成为止。直接插入排序:基本思想:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。...
2019-01-20 11:37:55 443
原创 内存池
内存池:为了解决new、malloc申请内存块的大小不定,频繁使用会产生大量的内存碎片、效率低等问题。基本思想:在真正使用内存前,先申请分配一定数量的、大小相等的内存块备用。当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存。内存分配alloc():申请一定数量的、大小相等的内存块,当使用内存时,从内存池中分出一部分内存块void* alloc(si...
2019-01-12 14:06:40 229
原创 C++单例模式
单例模式:该类只生成一个对象,该类返回一个引用或指针(永远是指向唯一的对象),定义一个静态的方法来得到该类的唯一对象。(屏蔽构造函数,类中提供一个接口生成对象,不能依赖对象调用,不能返回类类型。)第一种,懒汉模式 /延时加载。对象存放在堆区,运行时生成对象(注意线程安全问题)class SingleTon{public: static SingleTon* getInsta...
2019-01-12 11:35:09 228
复杂版线程池(头文件)
2023-12-26
线程池优化版(管理者线程)
2023-12-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人