?? 習(xí)題3-簡(jiǎn)單選擇排序.c
字號(hào):
#include "datastru.h"
#include <stdio.h>
void selesort(RECNODE *r, int n)
{/*簡(jiǎn)單選擇排序*/
int i,j,k;
RECNODE temp;
for(i = 1; i < n; i++)
{ k = i; /*k:最小關(guān)鍵字的初始位置*/
for(j = i + 1; j <= n; j++)
if(r[j].key < r[k].key)
k = j; /*k:跟蹤記錄當(dāng)前最小關(guān)鍵字的位置*/
if(k != i) /*最小關(guān)鍵字元素和待排序列的第一個(gè)元素交換*/
{temp = r[i]; r[i] = r[k]; r[k] = temp;}
}
}
main( )
{ RECNODE a[MAXSIZE];
int i, j, k, len;
printf("\n\n輸入待排序數(shù)據(jù)(整數(shù),以空格隔開(kāi),0 結(jié)束) : "); k = 0; scanf("%d",&j);
while(j != 0) { k++; a[k].key = j; scanf("%d",&j); }
len = k;
printf("\n排序前 : ");
for (i = 0; i < len; i++) printf(" %d",a[i+1].key);
printf("\n");
selesort (a,len);
printf("\n\n排序后 : ");
for (i = 0; i < len; i++) printf(" %d",a[i+1].key);
printf("\n\n");
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -