如何生成卷号,使两个姓氏相同的人不能处于相同的顺序

时间:2016-11-18 13:10:28

标签: php html

我有一个候选人注册表,其中包含列:

name, father_name, subject, dob, candidate_roll_no

我想生成一个卷号,这样就不会有两个姓氏相同的人。

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

  1. 根据姓氏对表格进行排序 - 升序或降序无关紧要 - 并将其读入数组。
  2. 随机播放阵列的下半部分和阵列的上半部分。
  3. 如果阵列中有大量元素,请将最后一个条目设为新的第一个
  4. 每个元素的索引将是候选人的卷号
  5. 看起来像这样:

    假设你的数组中有10个元素: (1,2,3,4,5,6,7,8,9,10)

    然后在洗牌之后它看起来像这样: (1,5,2,6,3,7,4,8,5,9,10)

    因为你有一个偶数的条目,你移动最后一个: (10,1,5,2,6,3,7,4,8,5,9)

    假设您的数组中有9个元素: (1,2,3,4,5,6,7,8,9)

    然后在洗牌之后它看起来像这样: (1,5,2,6,3,7,4,8,5,9)

    因为那是一个奇数的元素 - 你已经完成了。