c 插入排序算法

by pxz


发布于: 2013-04-14 所属分类: 后端 c 算法 标签: 排序  167


<h3 id="h3-c-"><a name="c 插入排序算法" class="reference-link"></a><span class="header-link octicon octicon-link"></span>c 插入排序算法</h3><pre><code>#include <stdio.h> int InsertSort(int arr[], int arrlen) { int i,j,insert; for (i=1;i<arrlen;i++) { insert = arr[i]; //从小到大排序, 需要往左排入的数已经是最大的,无须再排 if (insert > arr[i-1]) { continue; } //把insert插入到合适的位置 j = i-1; do{ arr[j+1] = arr[j]; j--; }while(j>=0 && insert<arr[j]); arr[j+1] = insert; } return 1; } int printarr(int arr[], int arrlen) { int i; for (i=0; i<arrlen; i++) { printf("%d ", arr[i]); } printf("\n"); return 1; } int main() { int arr[] = {51,66,99,5,0,22,36,99,65}; int arrlen = sizeof(arr)/sizeof(int); printarr(arr, arrlen); InsertSort(arr, arrlen); printarr(arr, arrlen); printf("------------------------------\n"); } </code></pre><p> </p>

发表评论

暂无评论

搜索
用户登陆