直接插入排序

 

直接插入排序:


代码:

 

#include<stdio.h>
int insert(int a[],int num) {
       intj;
       for(inti=2; i<=10; i++) {
              a[0]=a[i];
              j=i-1;
              while(a[0]<a[j]){
                     a[j+1]=a[j];
                     j--;
              }
              a[j+1]=a[0];
       }
}
int main() {
       inta[11];
       for(inti=1; i<=10; i++)
              scanf("%d",&a[i]);
       insert(a,10);
       for(inti=1; i<=10; i++)
              printf("%d",a[i]);
       return0;
}


 

注释:

 

#include <stdio.h>
 
void insort(int s[], int n) {                                        /*自定义函数isort*/
       inti, j;
       for(i = 2; i <= n; i++) {                            /*数组下标从2开始,0做监视哨,1一个数据无可比性*/
              s[0]= s[i];                                                       /*给监视哨赋值*/
 
              j= i - 1;                                                   /*确定要进行比较的元素的最右边位置*/
              while(s[0] < s[j]) {
                     s[j+ 1] = s[j];                                           /*数据右移*/
                     j--;                                                    /*移向左边一个未比较的数*/
              }
              s[j+ 1] = s[0];                                                 /*在确定的位置插入s[i]*/
       }
}
 
void main() {
       inta[11], i;                                                             /*定义数组及变量为基本整型*/
       printf("请输入10个数据:\n");
       for(i = 1; i <= 10; i++)
              scanf("%d",&a[i]);                                                 /*接收从键盘中输入的10个数据到数组a中*/
       printf("原始顺序:\n");
       for(i = 1; i < 11; i++)
              printf("%5d",a[i]);                                                 /*将未排序前的顺序输出*/
       insort(a,10);                                                           /*调用自定义函数isort()*/
       printf("\n插入数据排序后顺序:\n");
       for(i = 1; i < 11; i++)
              printf("%5d",a[i]);                                                 /*将排序后的数组输出*/
       printf("\n");
}


 

版权说明

 

著作权归作者所有©。 
商业转载请联系作者获得授权,非商业转载请注明出处。 
本文作者:Joe.Smith
发表日期:2016年10月7日 
本文链接:http://blog.csdn.net/qq_26816591/article/details/52782255
来源:CSDN 
更多内容:关于visual studio 2010 直接复制粘贴会出现乱码的解决方法 

 

posted @ 2016-10-10 21:55  Joe.Smith  阅读(183)  评论(0编辑  收藏  举报