随笔分类 - 算法
摘要:参考文章 1、《linux c编程一站式学习》的习题5.3.1 2、百度百科Euclid算法:https://baike.baidu.com/item/Euclid%E7%AE%97%E6%B3%95 思想 使用Eucid算法编写两个正整数a和b的最大公约数(GCD, Greatest Common
阅读全文
摘要:参考: 《linux c编程一站式学习》的例11.2 思想: 采取分而治之的策略: 1、divide: 把长度n的输入序列分成两个长度为n/2的序列 2、conquer: 对这两个序列分别采用归并序列 3、combine:将两个排序好的子序列合并成一个最终的排序序列 在描述归并排序的步骤时又调用了归
阅读全文
摘要:参考: 《linux c编程一站式学习》的习题11.4.1 http://c.biancheng.net/cpp/html/2741.html 思想: 采用分而治之的排序算法,从a[start,...,end]中选取一个pivot元素(比如a[start]为pivot);在一个循环中移动a[star
阅读全文
摘要:参考: 《linux c编程一站式学习》的习题11.1 思想: 第一次从数组a[0,...,LEN-1]中找出最小元素交换到a[0]的位置,第二次从数组a[1,...,LEN-1]中找出最小元素交换到a[1]的位置,依次类推。 code: 1 #include <stdio.h> 2 3 #defi
阅读全文
摘要:思想: 把小的元素往前调,或者把大的元素往后调;比较的是两个相邻的元素,调换也是发送在这两个元素之间 code: 1 #include <stdio.h> 2 3 #define LEN 5 4 5 int testData[LEN] = {10, 5, 2, 4, 7}; 6 7 void swa
阅读全文
摘要:参考: 《linux c编程一站式学习》的例11.1 思想: 插入排序类似于玩扑克牌时的抓牌过程,玩家每拿到一张牌都要将其插入手中已有的牌里,使之从小到到大排序 code: 1 #include <stdio.h> 2 3 #define LEN 5 4 int testData[LEN] = {1
阅读全文

浙公网安备 33010602011771号