摘要:
点击查看代码 #include<iostream> using namespace std; /* 函数功能:冒泡排序(升序排序) 函数列表: a[]:待排序数组 n:待排序元素个数 */ void BubbleSort(int a[], int n) { int i, j, tmp, flag; 阅读全文
摘要:
点击查看代码 /*希尔排序 希尔排序又称缩小增量排序 希尔排序的思想是: 先选定一个整数,把待排序数组中所有元素分成gap个组,然后将相差gap个位置(gap也称为步长)的元素分在同一个组内,再分别对gap个组各自进行直接插入排序。 后续每一轮将gap缩小为原来的一半,继续重复分组和排序工作,当ga 阅读全文
摘要:
点击查看代码 /*折半插入排序 假设待排序数组为a[len],初始时默认a[0]为有序区,a[1]~a[len-1]为无序区 i是无序区索引,j是有序区索引,tmp暂存无序区待插入元素(避免有序区元素后移时覆盖掉) 如果要按降序排序,则将判断语句改为if (a[mid] < tmp) //大于a[m 阅读全文
摘要:
点击查看代码 /* 直接插入排序: 假设待排序数组为a[len],初始时默认a[0]为有序区,a[1]~a[len-1]为无序区 每轮将无序区第一个元素作为待插入元素,同时作为本轮排序的比较基准,然后从有序区后往前逐个与有序元素进行比较,寻找插入位置 记i是无序区索引,j是有序区索引,tmp暂存本轮 阅读全文
摘要:
点击查看代码 /* 题目:给出N个(N<=100)字符串(由3位大写字母组成),再给出M个查询字符串,问每个查询字符串在N个字符串中出现的次数 输入格式: n m 第0个字符串 ... 第n-1个字符串 第0个查询字符串 ... 第m-1个查询字符串 输出格式: 第0个查询字符串出现的次数 ... 阅读全文
摘要:
点击查看代码 /* 读入一串字符,判断是否是“回文串”。 “回文串”是一个正读和反读都一样的字符串,如“level”或者“noon” 输入格式: 一行字符串,长度不超过255 输出格式: 如果是回文串,则输出Yes,否则输出No 输入样例: 12321 输出样例: Yes 解题思路: 1、创建cha 阅读全文
摘要:
点击查看代码 /* 有两个日期,求两个日期之间的天数,如果两个日期连续,则规定它们之间的天数为两天 输入格式: 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出格式: 每组数据输出一行,即日期差值 输入样例: 20130101 20130105 输出样例: 5 解题思路: 阅读全文
摘要:
点击查看代码 /* 将P进制数x转换为Q进制数z 注:x由纯数字组成,例如16进制的12345合法,1AE不合法 输入格式: P进制 Q进制 P进制数x 输出格式: Q进制数z 输入样例: 16 8 1234 输出样例: 11064 解题思路: 进制转换步骤 1、将P进制数x转换为十进制数decim 阅读全文