首先输入一个正整数N(1≤N≤1000)和一个无重复元素的、从小到大排列的、N个元素的有序表,然后在屏幕上显示以下菜单(编号和选项)。
[1] Insert
[2] Delete
[3] Update
[4] Query
[Other option] End
用户可以反复对该有序表进行插入、删除、修改和查找操作,也可以选择结束。当用户输入编号1~4和相关参数时,将分别对该有序表进行插入、删除、修改和查找操作,输入其他编号,则结束操作。本题要求实现4个函数,分别在有序表(数组)中插入、删除、修改、查找一个值。函数接口定义:
int insert(int a[ ], int value);
int del(int a[ ], int value);
int modify(int a[ ], int value1, int value2); int query(int a[ ], int value);
函数insert在有序数组a中插入一个值为value的元素,如果在数组a中已有值为value的元素,则返回-1。函数del删除有序数组a中等于value的元素,如果在数组a中没有找到值为value的元素,则返回-1。函数modify将有序数组a中等于value1的元素,替换为value2 ,如果在数组a中没有找到值为value1的元素或者value2已在数组a中存在,则返回-1。函数query用二分法在有序数组a中查找元素value,如果找到,则返回相应的下标;如果没有找到,则返回-1。
int insert(int a[],int value){
int i,j,flag=1;
for(i=0;i<Count;i++){
if(value==a[i]){
flag=-1;
break;
}
}
for(i=0;i<Count;i++){
if(value<a