C语言插入排序
插入排序的工作方式就像排序一手扑克牌。开始时,我们的左手为空,然后,我们每次从桌上拿走一张牌并将它插入到左手中正确的位置。为了找到正确的位置,我们总是从右到左将它与左手中的每张牌进行比较。这样,左手中的牌始终是排好序的,直到最后一张。插入排序的时间复杂度是O(n^2),因此,对于小规模问题,能有效解决。
Code :
①. 定义型声明不可以加分号
②. 为了让插入排序进行,左手上必须先至少拿着一张牌才能比较,如果共要排序n张牌,则需要进行size-1次排序
③. 如果以从小到大排序,从右边卡池里抽出一张牌并与左手进行比较,从左手第一张牌开始比较,如果抽出的牌更大,则比较左手第二张牌,依此类推进行比较,直到左手的牌比抽出的牌大,或者遍历完整个左手上的牌。
④.当比较完找到插入的位置,把手上的牌放进一个临时变量,并放进左手卡牌组里
⑤. 设个主函数并把插入排序函数引入,同时设个带10个数字的数组,并进行输出..
⑥. 输出结果: