排序——
//例1 选择排序参考代码
#include<bits/stdc++.h>
using namespace std;
int a[50],n;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<n;i++){
for(int j=i+1;j<=n;j++)
if(a[i]>a[j])
swap(a[i],a[j]);
}
for(int i=1;i<=n;i++)
cout<<a[i]<<" ";
return 0;
}
//例1 冒泡排序参考代码
#include<bits/stdc++.h>
using namespace std;
int a[50],n;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<n;i++){
for(int j=1;j<=n-i;j++){
if(a[j]>a[j+1])
swap(a[j],a[j+1]);
}
}
for(int i=1;i<=n;i++)
cout<<a[i]<<" ";
return 0;
}
//例1 插入排序参考代码
#include<bits/stdc++.h>
using namespace std;
int a[50],n,t,k;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=2;i<=n;i++){
t=a[i];
k=1;
while(a[k]<=t && k<i)
k++;
for(int j=i-1;j>=k;j--)
a[j+1]=a[j];
a[k]=t;
}
for(int i=1;i<=n;i++)
cout<<a[i]<<" ";
return 0;
}
//例1 计数排序参考代码
#include<bits/stdc++.h>
using namespace std;
int a[50],x[50],n,maxx=-1e9,minn=1e9;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>x[i];
a[x[i]]++;
if(x[i]>maxx) maxx=x[i];
if(x[i]<minn) minn=x[i];
}
for(int i=minn;i<=maxx;i++){
for(int j=1;j<=a[i];j++)
cout<<i<<" ";
}
return 0;
}
//二分——
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
int a[maxn];
bool check(int i,int x){
return a[i]>=x;
}
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
sort(a+1,a+n+1);
int x;
scanf("%d",&x);
int L=1,R=n;
while(L<=R){
int Mid=(L+R)/2;
if(check(Mid,x))
R=Mid-1;
else L=Mid+1;
}
printf("%d\n",a[R+1]);
return 0;
}
// 二分开根
#include<bits/stdc++.h>
using namespace std;
const double eps=1e-10;
bool check(double Mid,double x){
return Mid*Mid>x;
}
int main(){
double x;
cin>>x;
double L=0,R=1e9;
while(R-L>eps){
double Mid=(L+R)/2;
if(check(Mid,x)) R=Mid;
else L=Mid;
}
cout<<L;
return 0;
}
制作不易,希望大家踊跃点赞,谢谢 Thanks♪(・ω・)ノ。