C语言编程。有一个已经排好的数组,要求输入15按原来的排序规律将它插入在数组中.

有一个已经排好的数组,要求输入15按原来的排序规律将它插入在数组中.注:原数组为:2,3,7,8,9,10,13,21,24,27
插入排序,二分查找
/*
Name:
Copyright:
Author:
Date: 22-12-08 07:52
Description:
有山卖一个已经排好的数组,要求输入15按原来的排蚂扮序规律将它插入在数组中.注:原数组为:2,3,7,8,9,10,13,21,24,27
*/
#include
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 {
cout << a[i] << ' ';
}
cout << endl;

len = Insert(a, len, 15);//插入元素15,返回新的数组长度

for (int i=0; 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;
}
提示:用冒泡排序法.
C语言编程。有一个已经排好的数组,要求输入15按原来的排序规律将它插入在数组中.
← 上一篇: 下一篇: →