當前位置:編程學習大全網 - 編程軟體 - C語言編程。有壹個已經排好的數組,要求輸入15按原來的排序規律將它插入在數組中.

C語言編程。有壹個已經排好的數組,要求輸入15按原來的排序規律將它插入在數組中.

插入排序,二分查找

/*

Name:

Copyright:

Author:

Date: 22-12-08 07:52

Description:

有壹個已經排好的數組,要求輸入15按原來的排序規律將它插入在數組中.註:原數組為:2,3,7,8,9,10,13,21,24,27

*/

#include<iostream>

using namespace std;

int Insert(int a[], int len, int data);

int main()

{

const int MAX = 100;

int a[MAX] = {2,3,7,8,9,10,13,21,24,27};

int len = 10;

for (int i=0; i<len; i++)

{

cout << a[i] << ' ';

}

cout << endl;

len = Insert(a, len, 15);//插入元素15,返回新的數組長度

for (int i=0; i<len; i++)

{

cout << a[i] << ' ';

}

cout << endl;

system("pause");

return 0;

}

int Insert(int a[], int len, int data)

{

int left, right, mid;

left = 0; right = len - 1;

while (left <= right)

{

mid = (left + right) / 2;

if (a[mid] <= data)

left = mid + 1;

else

right = mid - 1;

}

if (a[left] <= data)

left++;

for (int i=len-1; i>=left; i--)

a[i+1] = a[i];

a[left] = data;

return len + 1;

}

  • 上一篇:Bo v16計算機配置要求
  • 下一篇:用matlab寫的壹個系統由多個M文件組成(可以互相調用)。如何導入labview?
  • copyright 2024編程學習大全網