(计数排序)计数排序是一个广泛使用的排序方法。下面的程序使用双关键字计数排序,将n对10000以内的整数,从小到大排序。
例如有三对整数(3,
①处应填()
++cnt [i]
++cnt[b[i]]
++cnt[a[i] * maxs + b[i]]
++cnt[a[i]]
②处应填()
ord[--cnt[a[i]]] = i
ord[--cnt[b[i]]] = a[i]
ord[--cnt[a[i]]] = b[i]
ord[--cnt[b[i]]] = i
③处应填()
++cnt[b[i]]
++cnt[a[i] * maxs + b[i]]
++cnt[a[i]]
++cnt [i]
④处应填()
res[--cnt[a[ord[i]]]] = ord[i]
res[--cnt[b[ord[i]]]] = ord[i]
res[--cnt[b[i]]] = ord[i]
res[--cnt[a[i]]] = ord[i]
⑤处应填()
a[i], b[i]
a[res[i]], b[res[i]]
a[ord[res[i]]]j b[ord[res[i]]]
a[res[ord[i]]]j b[res[ord[i]]]
发表评论