資源簡介
從鍵盤上輸入n個程度為m的整數,要求輸出這些整數的升序排列。
代碼片段和文件信息
#include
#include
#include
#define?Radix?10??????????//代表Radix(10)個隊列
typedef?int?QElemType;
typedef?struct
{
????QElemType?*base;???????//初始化的動態分配空間,存儲數據
????int?front;??????????????//頭指針,指向隊列頭元素,用來移動
????int?rear;???????????????//尾指針,指向隊列尾元素的下一位置,確定長度
}?SqQueue;
//distribute進行第n趟分配
//原始數據保存在Q.base數組中
//ArrType是SqQueue類型的數組,
void?distribute(SqQueue?&Qint?nSqQueue?ArrType[])
{
????//quot-商
????//rem-存儲每個數據的第n位(即第1位、第2位...第n位)的值
????int?ictempquotrem;
????//for置空Radix(10)個隊列
????for(i=0;?i ????????ArrType[i].front=0;
????//for處理每個數據的第n位
????for(i=0;?i ????{
????????//將第i個數據暫存到quot
????????quot=Q.base[i];
????????c=0;
????????//while計算第i個數據的第n位的值并保存到rem
????????while(c ????????{
????????????c++;
????????????rem=quot%Radix;
????????????quot/=Radix;
????????}
????????//將第n位為rem的數據復制到第rem個隊列
????????//即根據數據的第n位的數字rem,將數據分配到第rem個隊列的尾部
????????ArrType[rem].base[ArrType[rem].front++]=Q.b
- 上一篇:rip協議編程及代碼實現
- 下一篇:httpserver(SuperCookie)
評論
共有 條評論