如何用C语言在有序数组中插入一个数,同时确保数组依然有序?
- 内容介绍
- 文章标签
- 相关推荐
本文共计322个文字,预计阅读时间需要2分钟。
算法思想:从头部开始遍历找到第一个大于element的数,然后插入数字,后面的元素依次移动。
实例代码:pythondef insert_number(arr, num): for i in range(len(arr)): if arr[i] > num: arr.insert(i, num) return arr arr.append(num) return arr
示例arr=[1, 2, 4, 5, 6]num=3result=insert_number(arr, num)print(result)
算法思想:
从头开始遍历找到第一个大于element的数,然后插入数字,后面的元素依次移动。
实例代码:
#include<stdio.h>//直接插入排序 void insert_array(int *a,int length,int element)//插入函数 往有序的数组a里插入值为element的元素使数组a依然有序 { int i,j,t,f; for(i=0;i<length;i++) { if(a[i]>element) { t=i;//找到位置以后 可以依次移动数组元素腾出位置了 for(j=length;j>=t;j--) { if(j==t) a[j]=element; else a[j]=a[j-1];//数组依次往后移动 不管正序还是倒序都可以 } f=1; break; } } if(f!=1)//当element大于所有数组元素时候 { a[length]=element; } for(i=0;i<length+1;i++) { printf("%d ",a[i]); } } int main() { int a[5]={1,2,3,5,6}; int e=7; insert_array(a,5,e); }
推荐教程:c语言教程
以上就是c语言实现向有序数组中插入一个数并保持有序的详细内容,更多请关注自由互联其它相关文章!
本文共计322个文字,预计阅读时间需要2分钟。
算法思想:从头部开始遍历找到第一个大于element的数,然后插入数字,后面的元素依次移动。
实例代码:pythondef insert_number(arr, num): for i in range(len(arr)): if arr[i] > num: arr.insert(i, num) return arr arr.append(num) return arr
示例arr=[1, 2, 4, 5, 6]num=3result=insert_number(arr, num)print(result)
算法思想:
从头开始遍历找到第一个大于element的数,然后插入数字,后面的元素依次移动。
实例代码:
#include<stdio.h>//直接插入排序 void insert_array(int *a,int length,int element)//插入函数 往有序的数组a里插入值为element的元素使数组a依然有序 { int i,j,t,f; for(i=0;i<length;i++) { if(a[i]>element) { t=i;//找到位置以后 可以依次移动数组元素腾出位置了 for(j=length;j>=t;j--) { if(j==t) a[j]=element; else a[j]=a[j-1];//数组依次往后移动 不管正序还是倒序都可以 } f=1; break; } } if(f!=1)//当element大于所有数组元素时候 { a[length]=element; } for(i=0;i<length+1;i++) { printf("%d ",a[i]); } } int main() { int a[5]={1,2,3,5,6}; int e=7; insert_array(a,5,e); }
推荐教程:c语言教程
以上就是c语言实现向有序数组中插入一个数并保持有序的详细内容,更多请关注自由互联其它相关文章!

