这是我最近的面试问题之一.我想知道其他人对这个问题的看法.
题:
您将获得一个结构,其中包含两个元素(int部门和string名称)的员工详细信息.
struct Employee
{
string Name;
int Dept;
}
Run Code Online (Sandbox Code Playgroud)
您将获得N员工的详细信息,其中N/2名员工Dept == 0和N/2名员工Dept == 1,按任意顺序排列.您需要根据其Dept值来对员工详细信息进行排序,并且应该是稳定的,即应保持原始记录中的1和0的顺序.
例如,给出以下示例数据:
Name Dept X1 0 X2 1 X3 0 X4 1 X5 0
排序后的结果应该是:
Name Dept X2 1 X4 1 X1 0 X3 0 X5 0
算法应该是稳定的,时间复杂度应该是O(N),其他变量具有恒定的空间(这意味着应该就地进行排序).