直接插入排序_C语言

Posted 霍同学笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了直接插入排序_C语言相关的知识,希望对你有一定的参考价值。

当我们在记忆直接插入排序的时候,首先在脑海里有一个动态的图像 :arr[i]不断和arr[i-1]进行比较,只要每一次待比较的值比它前面那一位值小的话,就可以进行内层循环了。


所以需要留意的地方就是每一次的直接插入循环或者希尔循环,都是用arr[i]和它之前的那一位进行比较。


#include <stdio.h>
void insertsort(int arr[],int length){ int i,j; for(i=1;i<length;i++) { int temp=arr[i]; if(arr[i]<arr[i-1]) { for(j=i-1;j>=0 && arr[j]>temp;j--) { arr[j+1]=arr[j]; } arr[j+1]=temp; } }}int main(){ int arr[9]={3,5,23,66,88,2,33,44,55}; insertsort(arr,9); int i; for(i=0;i<9;i++) printf(" %d ",arr[i]); }


以上是关于直接插入排序_C语言的主要内容,如果未能解决你的问题,请参考以下文章

c语言实现哈希排序代码

希尔排序的c语言实现代码

C语言编程实例7

八大排序算法(C语言实现)

C语言-直接插入排序

C语言直接插入排序算法