数据结构-排序-简单选择排序(c++实现)

 #include
using namespace std;

#define MAXN 20
typedef int keytype;

typedef struct {
	keytype  key;
}Redtype;

typedef struct {
	Redtype r[MAXN + 1];
	keytype length;
}Sqlist;

void SelectSort(Sqlist& L) {
	int i,j;
	for ( i = 0; i < L.length-1; i++) {
		int k = i;
		for (j = i + 1; j <= L.length-1; j++) {
			if (L.r[j].key < L.r[k].key)
				k = j;
		}
		if (k != i) {
			int tmp;
			tmp = L.r[k].key;
		    L.r[k].key=L.r[i].key;
			L.r[i].key = tmp;
        }

	}
}

int main() {
	Sqlist L;
	L.length = 9;
	for (int i = 0; i < L.length; i++) {
		cin >> L.r[i].key;
	}
	SelectSort(L);
	for (int i = 0; i < L.length; i++)
		cout << L.r[i].key << ' ';
}

你可能感兴趣的:(数据结构与算法,#,排序,排序算法)