算法
STLouisBlues
这个作者很懒,什么都没留下…
展开
-
快速排序的实现(c++版 输出交换次数 copy次数)
快速排序实验要求:使用快速排序,输出排序好的序列以及copy的次数、比较的次数实验说明:因为没有用到swap对数组进行交换,仅仅是对将数字copy到坑位中,所以是copy版本的快速排序。快速排序的思路一个数字一个坑位,假设一个有5位数字的数组__34512__,那就是5个坑位。设定第一个数为比较的基准值,所以数组中所有的数字都跟3比较,比3大的就去后面的坑位,比3小的就去前面的坑位。一前一后两个指针,设为a和b,一个指向第一个数字,一个指向最后一个数字。先让指针b移动,如果b指向的数字原创 2020-12-16 17:16:11 · 1926 阅读 · 2 评论 -
使用二分查找输出比较次数以及数组中是否含有查找值(c++)
二分查找实验要求:输入一串数组,再输入一个数字,返回比较次数以及该数字是否在数组中二分查找的原理首先要有一个有序的列表,如果列表无序先用排序算法对无序列表进行排序。假设有序列表为升序的,首先找到序列的中间数,将查找的数字与中间数进行比较,如果比中间数大则跟中间数右边的数字比较,如果比中间数小就跟中间数左边的数字进行比较,一直递归到只跟一个数字进行比较为止。在列表的数字个数为奇数时,比如7个数字,中间数就是(1+7)/2=4 第四个数字,而当数字个数为偶数时,比如8个数字,中间数就是(1+8)/2=原创 2020-12-16 09:40:52 · 896 阅读 · 0 评论