程序运行结果
1.流程图:
2.测试条件:
开始 初始化正序链表,调用各初始化逆序链表,调用各初始化顺序随机的链表,调用各类排序,并输出运结 束 如果需要对不同的正序,逆序随机序列进行排序,则需要在main函数中进行初始化设置。3.测试结论:
4. 总结
通过这次实验我再次复习了链表的建立及相应的操作,对各类排序算法的实现也有了新的理解,在调试过程中出现了许多问题也花费了很多时间和精力去逐步解决,最后程序运行成功的瞬间真的很开心。
问题一:
直接插入排序中若是使用从后向前比较插入的话(即书上的办法)难以找到该节点的前驱节点,不方便进行操作,所以最后采用了从前向后进行比较。 void LinkList::InsertSort()
入排序法: Compare:\ << setw(3) << comparef
<< \:\ << setw(3) << movef << endl;
comparef = 0; movef = 0; ();
cout << \改进型冒泡排序法: Compare:\ << setw(3) << comparef << \
Move:\ << setw(3) << movef << endl;
comparef = 0; movef = 0; ();
cout << \快速排序法: Compare:\ << setw(3) << comparef << \:\
<< setw(3) << movef << endl;
comparef = 0; movef = 0; ();
cout << \简单选择排序法 Compare:\ << setw(3) << comparef << \:
\ << setw(3) << movef << endl;
comparef = 0; movef = 0; (10);
cout << \堆排序算法 Compare:\ << setw(3) << comparef << \:\ <<
setw(3) << movef << endl; }