数据结构算法学习-排序-插入排序
排序
讲一组有顺序的元素按大小(只要定义可以返回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