数据结构算法学习-排序-插入排序
排序
讲一组有顺序的元素按大小(只要定义可以返回true或false的比较关系,非一定数值比较)重新调整顺序。
插入排序
思维上最直接的方式吧,将原序列元素一个个取出,放回时找到合适位置放入b,既a<=b<c。
算法实现
long long int* elrSortInsert(long long int* arr, int len) { int i, j, k; long long int n; if (arr) { for (i = 1; i < len; i++) { n = arr[i]; for (j = i - 1; j >= 0; j--) { if (arr[j] > n) { arr[j + 1] = arr[j]; arr[j] = n; for (k = 0; k < len; k++) { printf("%lld ", arr[k]); } printf("\n"); } else { break; } } } } return arr; }
调试调用
int main(int argc, char **argv){ long long int arr[] = {6, 2, 4, 1, 3, 5, 0}; elrSortInsert(arr, 7); return 0; }
输出
2 6 4 1 3 5 0 2 4 6 1 3 5 0 2 4 1 6 3 5 0 2 1 4 6 3 5 0 1 2 4 6 3 5 0 1 2 4 3 6 5 0 1 2 3 4 6 5 0 1 2 3 4 5 6 0 1 2 3 4 5 0 6 1 2 3 4 0 5 6 1 2 3 0 4 5 6 1 2 0 3 4 5 6 1 0 2 3 4 5 6 0 1 2 3 4 5 6
相关推荐
Jasmineyaoyao 2020-06-16
Joymine 2020-06-16
清溪算法君老号 2020-06-06
清溪算法君老号 2020-06-01
shenwenjie 2020-04-25
星辰大海的路上 2020-04-22
bluewelkin 2020-04-21
chenfei0 2020-04-15
hanyujianke 2020-03-03
Colourful 2020-02-29
dushine00 2020-02-17
Happyunlimited 2020-02-17
shawsun 2020-02-12
pimshell 2020-02-03
hugebawu 2020-01-15
dbhllnr 2020-01-10