摘要:
一、函数定义 FILE * fopen ( const char * filename, const char * mode ); 二、参数mode: "r" read: 为输入操作打开文件,文件必须存在。 "w" write: 为输出操作创建一个空文件,如果文件已存在,则将已有文件内容舍弃,按照空 阅读全文
摘要:
1 #include <cstdio> 2 #include <iostream> 3 #include <cstring> 4 using namespace std; 5 void num_Count(int a[],int n,int max) 6 { 7 int i,j; 8 int buc 阅读全文
摘要:
堆排序(Heap Sort)是指利用堆这种数据结构所设计的一种排序算法。因此,学习堆排序之前,有必要了解堆! 我们知道,堆分为"最大堆"和"最小堆"。最大堆通常被用来进行"升序"排序,而最小堆通常被用来进行"降序"排序。鉴于最大堆和最小堆是对称关系,理解其中一种即可。本文将对最大堆实现的升序排序进行 阅读全文
摘要:
将两个的有序数列合并成一个有序数列,我们称之为"归并"。归并排序(Merge Sort)就是利用归并思想对数列进行排序。根据具体的实现,归并排序包括"从上往下"和"从下往上"2种方式。 1. 从下往上的归并排序:将待排序的数列分成若干个长度为1的子数列,然后将这些数列两两合并;得到若干个长度为2的有 阅读全文
摘要:
7-22 龟兔赛跑 (20分) https://pintia.cn/problem-sets/14/problems/802 1 #include <iostream> 2 #include <cmath> 3 #include <algorithm> 4 #include <cstdio> 5 u 阅读全文
摘要:
选择排序(Selection sort)是一种简单直观的排序算法。它的基本思想是:首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置;接着,再从剩余未排序的元素中继续寻找最小(or最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 1 void sele 阅读全文
摘要:
希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。希尔排序实质上是一种分组插入方法。它的基本思想是:对于n个待排序的数列,取一个小于n的整数gap(gap被称为步长)将待排序元素分成若干个组子序列,所有 阅读全文
摘要:
1 void quick_sort(int a[], int l, int r) 2 { 3 if (l < r) 4 { 5 int i,j,x; 6 7 i = l; 8 j = r; 9 x = a[i]; 10 while (i < j) 11 { 12 while(i < j && a[j 阅读全文
摘要:
一、直接插入排序 直接插入排序(Straight Insertion Sort)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表。开始时有序表中只包含1个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1 阅读全文
摘要:
7-32 说反话-加强版 (20分) https://pintia.cn/problem-sets/14/problems/812 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <string> 5 阅读全文