选择排序.cpp
来自「c++算法的很经典的一些小练习 看了 觉得还可以 给大家分享一下!」· C++ 代码 · 共 41 行
CPP
41 行
#include<stdio.h>
int N=3;
typedef struct{
int id;
int key;
}tnode;
void selectsort(tnode *r);
void outlist(tnode *r);
main(){
tnode *r;
printf("输入所要排序的元素的数目N=");
scanf("%d",&N);
r=new tnode[N+1];
printf("input key:");
for(int i=1;i<=N;i++)
scanf("%d",&r[i].key);
selectsort(r);
outlist(r);
delete[]r;
}
void selectsort(tnode*r){
int i,j,k;
for(i=1;i<N;i++) {
k=i;
for(j=i+1;j<=N;j++)
if(r[j].key<r[k].key) k=j;
if(k!=i){
r[0]=r[i]; r[i]=r[k]; r[k]=r[0];
}
}
}
void outlist(tnode*r){
int i;
printf("排序后:\n");
for(i=1;i<=N;i++)
printf("%d ",r[i].key);
printf("\n");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?