公司的技能鉴定上机题——Hash冲突排序算法4
2012-04-12 17:14
204 查看
//保存在输出链表中,在插入的同时进行直接插入排序
DWORD SortByCount::InsertToOutPutList(DWORD dwValue, DWORD dwLength)
{
//申请节点内存
OutPutNode * s = (OutPutNode*)pmalloc(sizeof(OutPutNode));
//赋值
s->dwValue = dwValue;
s->ListCount = dwLength;
s->next = NULL;
s->prev = NULL;
//插入链表
if(0 == m_OutPutList->size)
{
//第一次插入节点
m_OutPutList->Head = s;
m_OutPutList->Tail = s;
m_OutPutList->size++;
return SUCCESS;
}
else
{
OutPutNode *p = m_OutPutList->Tail; //从尾节点,反向插入排序
//比较插入,考虑到数组不可能重复,因此无需做相等或者比头结点小的判断
while(p!=NULL)
{
if(p->dwValue < s->dwValue)
{
//如果是尾节点,需要特殊处理
//
if(p->next == NULL)
{
p->next = s;
s->prev = p;
m_OutPutList->Tail = s;
m_OutPutList->size++;
return SUCCESS;
}
//插入到P节点之后
s->next = p->next;
p->next->prev = s;
s->prev = p;
p->next = s;
m_OutPutList->size++;
return SUCCESS;
}
p=p->prev;//向前移动
}
//比头结点还小时插入到头结点之前;
m_OutPutList->Head->prev = s;
s->next = m_OutPutList->Head;
m_OutPutList->Head =s;
m_OutPutList->size++;
return SUCCESS;
}
return SUCCESS;
}
DWORD SortByCount::InsertToOutPutList(DWORD dwValue, DWORD dwLength)
{
//申请节点内存
OutPutNode * s = (OutPutNode*)pmalloc(sizeof(OutPutNode));
//赋值
s->dwValue = dwValue;
s->ListCount = dwLength;
s->next = NULL;
s->prev = NULL;
//插入链表
if(0 == m_OutPutList->size)
{
//第一次插入节点
m_OutPutList->Head = s;
m_OutPutList->Tail = s;
m_OutPutList->size++;
return SUCCESS;
}
else
{
OutPutNode *p = m_OutPutList->Tail; //从尾节点,反向插入排序
//比较插入,考虑到数组不可能重复,因此无需做相等或者比头结点小的判断
while(p!=NULL)
{
if(p->dwValue < s->dwValue)
{
//如果是尾节点,需要特殊处理
//
if(p->next == NULL)
{
p->next = s;
s->prev = p;
m_OutPutList->Tail = s;
m_OutPutList->size++;
return SUCCESS;
}
//插入到P节点之后
s->next = p->next;
p->next->prev = s;
s->prev = p;
p->next = s;
m_OutPutList->size++;
return SUCCESS;
}
p=p->prev;//向前移动
}
//比头结点还小时插入到头结点之前;
m_OutPutList->Head->prev = s;
s->next = m_OutPutList->Head;
m_OutPutList->Head =s;
m_OutPutList->size++;
return SUCCESS;
}
return SUCCESS;
}
相关文章推荐
- 公司的技能鉴定上机题——Hash冲突排序算法
- 公司的技能鉴定上机题——Hash冲突排序算法2
- 公司的技能鉴定上机题——Hash冲突排序算法3
- 公司的C++技能鉴定上机题——Hash冲突排序算法5
- 大地测量员职业技能鉴定实操考核工作方案
- 做好一个面试官,是给公司领导分忧的一项重要技能。
- 某公司上机题
- 职业技能鉴定
- 职业技能鉴定准考证打印系统
- Java BAT大型公司面试专属必备技能视频教程
- 互联网公司产品经理要求及需要掌握的技能
- 某公司上机题
- 某X公司的C/C++技能复核考试
- 去大公司还是去小公司工作——要进大公司的核心部门(提升视野,锻炼技能),远离没真本事的小公司,要自我驱动 good
- 当所有大小公司都在用GitHub时,你需要这项技能!
- 软件测试技能鉴定(模拟题)
- 某X公司的C/C++技能复核考题答案
- 46家公司程序题答案,均通过上机验证
- 面试篇:公司分析,必备技能
- 在谷歌、Facebook等顶级科技公司工作需要哪些技能