06/09/24 20:30:31 1YEhFxnW
/* 【ファイル名】pLine.c */
#include "pLine.h"
sBall *pLine(sBall *pMin, int iCount, int iE, int iSkip) {
char c[EXTRACT][DIGITS];
sBall *p;
sBall *pOld;
int i, iN, iPicked;
/* 反復(注2) */
for (iPicked = 0; iPicked < iE; iPicked++) {
iN = iPick(iCount);/* ノードの番号を決定した(1 ≦ iN ≦ iCount) */
p = pMin;/* 現在の最小値のボール */
pOld = NULL;/* 先頭のボールより前方にはボールが存在しない */
for(i = 1; i != iN; i++) {
pOld = p;
p = p->pNext;
};
sprintf(&c[iPicked][0], "%s", p->pBall);/* iN番目のボールの値(文字列)を配列に記憶した */
pMin = pShorten(pMin, pOld, p);/* iN番目のボールを破棄した */
iCount--;/* 摘出したためボールの総数が減少した */
}
if(iSkip == 0) {/* 表示する */
qsort(&c[0][0], iE, DIGITS, iCompare);/* 配列をソートした */
for(i = 0; i < iE; i++) {
printf(" %s", &c[i][0]);/* 配列の要素を出力した */
}
putchar('\n');/* 改行した */
}
return pMin;
}