选择排序.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 + -
显示快捷键?