ida pro 2020-12-07 22:54 采纳率: 30%
浏览 58

用指针法在一维有序数组中插入数据,要求在其中插入任意一个整数后数列依然有序。

C语言:用指针法在一维有序数组中插入数据,要求在其中插入任意一个整数后数列依然有序。

  • 写回答

1条回答 默认 最新

  • 芣苢的成长之路 2023-06-27 00:13
    关注

    从数组末尾开始,将比要插入的数字大的元素后移一位,直到找到合适的位置插入要插入的数字。

    
    #include <stdio.h>
    
    // 函数声明
    void insertSorted(int arr[], int size, int num);
    
    int main() {
        int arr[100]; // 假设数组大小为100
        int size, num, i;
    
        // 输入数组大小
        printf("请输入数组大小:");
        scanf("%d", &size);
    
        // 输入有序数组元素
        printf("请输入有序数组元素:");
        for (i = 0; i < size; i++) {
            scanf("%d", &arr[i]);
        }
    
        // 输入要插入的数字
        printf("请输入要插入的数字:");
        scanf("%d", &num);
    
        // 调用函数插入数字
        insertSorted(arr, size, num);
    
        // 打印插入后的有序数组
        printf("插入后的有序数组:");
        for (i = 0; i <= size; i++) {
            printf("%d ", arr[i]);
        }
    
        return 0;
    }
    
    // 函数定义
    void insertSorted(int arr[], int size, int num) {
        int i;
        int *ptr = arr + size - 1; // 指向数组末尾元素
    
        // 从数组末尾开始,将比要插入的数字大的元素后移一位
        while (*ptr > num && ptr >= arr) {
            *(ptr + 1) = *ptr;
            ptr--;
        }
    
        // 插入要插入的数字
        *(ptr + 1) = num;
    }
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题