文章

7

粉丝

211

获赞

10

访问

37.1k

头像
冒泡排序优化,减少比较次数
推荐阅读
P1015 贵州大学机试题
发布于2022年3月14日 16:19
阅读数 6.0k

// 冒泡排序优化
void sortList(LinkList &L, int n) {
	Node *p, *q;
	int temp, k = n - 1, s;
	bool flag; // 是否有序
	for (int i = 0; i < n; i++) {
		p = L;
		q = L->next; // 从头开始
		s = 0;
		flag = true;
		for (int j = 0; j < k; j++) {
			if (p->data > q->data) {
				temp = p->data;
				p->data = q->data;
				q->data = temp;
				s = j; // 更新交换位置
				flag = false;
			}
			p = q;
			q = q->next;// 往后移动
		}
		if (flag) break; // 没发生交换,已经有序
		k = s; // 更新下次循环结束位置
	}
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发