赞
踩
2 , 3 , 7 , 8 章节
第2章 线性表
第3章 栈和队列
第7章 查找
第8章 排序
前插法后插法创建单链表,合并有个有序链表
线性表课后习题算法设计题1,7
链栈的入栈和出栈
链队
快速排序
代码描述:
void CreateList_H(LinkList& L, int n)
{
L = new Lnode;
L->next = NULL;
for (int i = 0; i < n; ++i) {
p = new Lnode;
cin >> p->data;
p->next = L->next;
L->next = p;
}
}
算法时间复杂度为 O(n)。
void CreateList_R(LinkList& L, int n) {
L = new Lnode;
L->next = NULL;
r = L;
for (i = 0; i < n; ++i) {
p = new Lnode;
cin >> p->data;
p->next = null;
r->next = p;
r = p;
}
}
算法时间复杂度为 O(n)。
void MergeList(LinkList& La, LinkList& Lb, LinkList& Lc) { pa = La->next; pb = Lb->next; Lc = pc = La; //用La的头结点作为Lc的头结点 while (pa && pb) { if (pa->data < pb->data) { pc->next = pa; pc = pa; pa = pa->next; } //取较小者La中的元素,将pa链接在pc的后面,pa指针后移 else if (pa->data > pb->data) { pc->next = pb; pc = pb; pb = pb->next; } //取较小者Lb中的元素,将pb链接在pc的后面,pb指针后移 else //相等时取La中的元素,删除Lb中的元素 { pc->next = pa
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。