c语言用指针给数组排序和插入

项目2. 数组的排序和的插入 【项目目的】 (1)熟悉如何定义指针变量,掌握将指针变量指向一维数组元素的方法。 (2)掌握如何对数组进行排序。(3)掌握如何在一个有序的数列中查找合适的位置。 (4)掌握如何将一个数插入到一个有序数列中。 【技术要点】 (1)排序可采用冒泡法或者选择法。(2)有序数组中插入一个数的关键是找到该数据插入的位置,然后将插入位置及其后的所有元素均后移一位,在空出的位置放入待插入的数据。例如,在 13、27、38、49、65、76、97 这列有序数据中插入 53 这个数,成为新的有序数列 13、27、38、49、53、65、76、97。 (4)定义数组时多开辟一个存储单元,用于存放待插入的数据。程序代码:

#include<stdio.h>
#define size 8 //元素数组元素个数
int main()
{
    int i,nums[size]={13,27,38,49,65,76,97},n,index,*p=&nums[size-1];
    printf("原数组:");
    for(i=0;i<size-1;i++)
        printf("%d ",nums[i]);
    printf("\n输入要插入的数字:");
    scanf("%d",&n);
    printf("输入要插入在第几个数字后面:");
    scanf("%d",&index);
    while(p>&nums[index])
    {
        *p=*(p-1);
        p--;
    }
    *p=n;

    printf("插入后的数组:");
    for(i=0;i<size;i++)
        printf("%d ",nums[i]);
    return 0;
}

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网