10 2019 档案
摘要:先上代码。思路很简单对在光标k左边的元素不断进行比较,将最小的那个插入最左边。(这里说是插入,实际上是将最小元素与原最左元素进行互换,大多数排序算法里就没有真正用到过插入的,这么说只是习惯) 如果将选择排序的代码改成如下形式 输出结果变为2 3 7 1 22 3 5 34 467 这是需要注意的地方
阅读全文
摘要:先贴上代码 简单希尔排序算法需要注意的三个关键点在于gap值的选择,以及数组下标i,j和gap的位置关系,要保证程序在gap==1时算法退化成插入排序 以一个简单的数组 7 6 3 2 4 1为例循环开始时,gap简写为g,以括号表示g,i,j所在数字的位置,初始gap=3,数组下标初始值为0,用[
阅读全文
摘要:1 #include 2 #define N 12 3 //length统计数组的长度 返回最后元素的下标 4 int length(int a [N]){ 5 for(int i = 0;i=dex;i--){ 22 a[i+1] = a[i]; 23 24 } 25 a[dex] = value ; 26 } 27 /...
阅读全文
摘要:#include<stdio.h>//floyd算法实现//定义一个无限大值,表示无法直接通过的两个点#define INF 999//初始化一个n*n的数组存储所要表示的图 #define N 3 int a [N][N] ;//creat函数,用于初始化数组int* creat (){ for(
阅读全文
摘要:错误笔记 程序示例 #define N 10 int a [N][N] ;//写一个creat函数,初始化数组void creat(int [][]){ } 程序编译后出现题示错误 因为多维数组作为形参传入时,必须声明除第一位维外的确定值,否则系统无法编译(算不出偏移地址) 改进代码: #defin
阅读全文