C语言经典例39-在有序数组中插入一个数
生活随笔
收集整理的這篇文章主要介紹了
C语言经典例39-在有序数组中插入一个数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 1 題目
- 2 分析
- 3 實現
- 4 運行結果
1 題目
有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。
2 分析
對于一個有序的數組,要插入一個數,并保持依然有序,方法是從后往前比較,若插入的數小于比較的數,那么比較的數往后移,直至遇到插入的數大于比較的數為止,此時將該數插到此位置。
3 實現
#include <stdio.h>void insert(int A[], int n, int x) {int i;for (i = n - 1; i >= 0; i--) {if (A[i] > x) {A[i + 1] = A[i]; // 當比較的數比x大時,將其后移} else {break; // 確定出x要插入的位置}}A[i + 1] = x; // 將x插入到數組中 }int main(void) {int n = 8; // 初始數組大小為8int x = 5; // 要插入的數為5int A[20] = {1, 2, 3, 4, 6, 7, 8, 9};insert(A, n, x);for (int i = 0; i < n + 1; i++) {printf("%d ", A[i]);}return 0; }4 運行結果
1 2 3 4 5 6 7 8 9總結
以上是生活随笔為你收集整理的C语言经典例39-在有序数组中插入一个数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言经典例35-字符串反转
- 下一篇: C语言经典例40-逆置数组