⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1.cpp

📁 这是一个排序法程序
💻 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 + -