一、排序
1、选择排序
void selectSort(){
for(int i=1;i<=n;i++){
int k=i;
for(int j=i;j<=n;j++){
if(A[j]<A[k]){
k=j;
}
}
int temp=A[i];
A[i]=A[k];
A[k]=temp;
}
}
2、插入排序
int A[maxn],n; //n为元素个数
void insertSort(){
for(int i=2;i<=n;i++){ //进行n-1趟排序
int temp=A[i],j=i; //temp临时存放A[i],j从i开始往前枚举
while(j>i&&temp<A[j-1]){ //只要temp小于前一个元素A[j-1]
A[j]=A[j-1]; //把A[J-1]往后移一位至A[j]
j--;
}
A[j]=temp; //插入至A[j]
}
}
3、排序题与sort函数的应用
示例:结构体的定义
struct Student{
char name[10];
char id[10];
int score;
int r;
}stu[100010];
cmp函数的编写
bool cmp(Student a,Student b){
if(a.score!=b.score) return a.sort>b.sort;
else return strcmp(a.name,b.name)<0;
}
本文地址:https://blog.csdn.net/weixin_43107595/article/details/108178904