鉴于我有一个按字母顺序排序的id(键)和国家(值)的哈希值,将一个条目冒泡到堆栈顶部的最佳方法是什么?

mk.*_*mk. 3 php arrays algorithm hash

这是一个php示例,但任何语言的算法都可以.我特别想要做的是将美国和加拿大列入榜首.以下是为简洁起见而缩短的数组示例.

array(
  0 => '-- SELECT --',
  1 => 'Afghanistan',
  2 => 'Albania',
  3 => 'Algeria',
  4 => 'American Samoa',
  5 => 'Andorra',)
Run Code Online (Sandbox Code Playgroud)

id需要保持完整.不幸的是,将它们设为-1或-2将不起作用.

Kev*_*ild 6

在这些情况下我通常做的是添加一个名为DisplayOrder的类似字段.一切都默认为,例如,1 ...然后按DisplayOrder排序,然后按名称排序.如果您想要更高或更低的列表,您可以相应地调整显示顺序,同时保持正常的ID.

- 凯文费尔柴尔德