📄 1.cpp
字号:
#include "stdio.h"
#include "string.h"
#include <time.h>
#include "stdlib.h"
void createvalue(int *data) /*随机产生10个不相同的两位整数,存放在整型数组中*/
{int i;
srand((int)time(NULL));
for(i=0;i<10;i++)
data[i]=rand()%100;
}
void sore(int *data,int n) /*使用选择排序法将整型数组中的值由小到大排列有序*/
{int i,j,p,t;
for(j=0;j<n-1;j++){
p=j;
for(i=j+1;i<n;i++)
if(data[p]>data[i]) p=i;
t=data[j];
data[j]=data[p];
data[p]=t;
}
}
int insertvalue(int *data,int n,int x) /*在有序数组中,插入x,插入x后,数组仍然有序*/
{int low=0,high=n-1,mid,pos,i;
int find=0;
while(low<=high&&!find){ /*采用二分查找法,查找x的插入位置*/
mid=(low+high)/2;
if(x<data[mid]) high=mid-1;
else if(x>data[mid]) low=mid+1;
else find=1;
}
pos=find?mid:low; /*插入位置是下标为pos的数组元素*/
for(i=n-1;i>=pos;i--) /*从下标为n-1~pos的元素依次往后移*/
data[i+1]=data[i];
data[pos]=x; /*将x存入下标为pos的数组元素中*/
return ++n;
}
main()
{int a[15],x,num,i;
createvalue(a);
sore(a,10);
printf("please input the insert value:");
scanf("%d",&x);
num=insertvalue(a,10,x);
for(i=0;i<num;i++)
printf("%4d",a[i]);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -