算法
tianyingang
感谢关注
展开
-
排序
void shellSort(int array[], int n) { // Rearrange elements at each n/2, n/4, n/8, ... intervals for (int interval = n / 2; interval > 0; interval /= 2) { for (int i = interval; i < n; i += 1) { int temp = array[i]; int j; f.原创 2021-05-27 15:19:24 · 71 阅读 · 0 评论 -
字符串排序陷阱题
编写一个程序,将输入字符串中的字符按如下规则排序。 规则 1 :英文字母从 A 到 Z 排列,不区分大小写。 如,输入: Type 输出: epTy 规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。 如,输入: BabA 输出: aABb 规则 3 :非英文字母的其它字符保持原来的位置。 如,输入: By?e 输出: Be?y 注意有多组测试数据,即输入有多行,每一行单独处理(换行符隔开的表示不同行) 如果不考虑规则3, 那么就是一个简单的排序问题,对现有的稳定排序算法稍加改进原创 2021-04-03 17:38:34 · 373 阅读 · 1 评论 -
另一种检查数组中是否有两元素之和等于给定数
//给定n个整数的集合S和另一个整数x,该算法能确定S中是否存在两个数其和刚好为x #include <stdio.h> #include <stdbool.h> #include <malloc.h> int merge(int * objary,unsigned int index_start,unsigned int index_middle,un...原创 2019-07-25 16:20:36 · 337 阅读 · 0 评论 -
给定的数是否为数组两元素之和
//给定n个整数的集合S和另一个整数x,该算法能确定是否存在两个数之和等于x #include <stdio.h> #include <stdbool.h> #include <malloc.h> int merge(int * objary,unsigned int index_start,unsigned int index_middle,unsigne...原创 2019-07-25 16:12:26 · 251 阅读 · 0 评论 -
选择排序算法
#include <stdio.h> int get_min_of_array(int * array ,unsigned int index_start,unsigned int index_end){ int min = array[index_start]; int min_index = 0; for(int i = index_start; i ...原创 2019-07-24 18:43:00 · 66 阅读 · 0 评论 -
n位二进制数相加
#include <stdio.h> #include <stdbool.h> #define ARRAY_SIZE 64 bool add_Two_Bin_Number(int * array1,int * array2,int * array3){ int carry_in_flag = 0; int tmp; __int64_t i; ...原创 2019-07-10 16:31:37 · 444 阅读 · 0 评论 -
分治法排序
#include <stdio.h> #include <stdlib.h> int merge(int * objary,unsigned int index_start,unsigned int index_middle,unsigned int index_end) { int n1 = index_middle - index_start + 1; ...原创 2019-06-24 15:26:12 · 112 阅读 · 0 评论 -
猴子吃桃问题
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,发现只剩下一个桃子了。编写程序求猴子第一天摘了多少个桃子。 #include<stdio.h> int peachRemain(int day) { int peach; if ...原创 2019-04-30 10:30:59 · 92 阅读 · 0 评论 -
算法学习笔记之插入排序算法
#include <stdio.h> int main(void) { int a[10] = { 11,2,32,25,90,8,16,56,44,7 }; int key, i, j, k; for (j = 1; j < 10; j++) { i = j - 1; key = a[j]; w...原创 2019-04-19 00:09:42 · 73 阅读 · 0 评论