
c++经典
smiledawen
这个作者很懒,什么都没留下…
展开
-
冒泡排序C++实现 《数据结构、算法与应用》
摘录《数据结构、算法与应用》中对冒泡排序的描述,及时间复杂度分析我的C++实现:#include <iostream>using namespace std;// 单次冒泡:比较数组a[]的前n个数,从左到右两两比较,将最大值移到序列右端template<class T>void bubble(T a[], int n) { T temp; for (int i = 1; i < n; i++) { if (a[i - 1] > .原创 2021-03-30 14:16:42 · 258 阅读 · 0 评论 -
《数据结构、算法与应用 c++语言描述》 第二章 习题【更新中】
《数据结构、算法与应用 c++语言描述》 第二章 习题自己默默做题总是没有动力做完,网上查题解好费劲,按序答在此处。希望自己慢慢补充完,其中可能有错误,欢迎大家指出。你的留言,是我前进的动力!哈哈哈。p39 题1-2答:(书上提供了答案,我觉得从两方面来记比较好)a. 作为程序提供商:- 如果是多用户计算机系统,需要指出所需内存- 如果是单个计算机系统,也需要知道计算机内存是否够- 估算该程序可以解决的最大问题规模b. 作为用户: - 用户使用时,更偏向使用需要内存小的程序来原创 2021-03-29 17:06:11 · 437 阅读 · 0 评论 -
结构体排序问题
一种排序问题 南洋理工学院 http://acm.nyist.net/JudgeOnline/problem.php?pid=8描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编号、长、宽都是整数;现在要求按照一下方式排序(默认排序规则都是从小到大);1.按照编号从小到大排序 2.对于编号相等的长方形,按照长方形的长排序; 3.如果编号和长都相同原创 2017-12-04 14:30:44 · 6198 阅读 · 0 评论 -
喷水装置
本题要点 1. 当水的半径小于1的时候,不予考虑。因为宽度都覆盖不了,没有用。 2. 只考虑长度即可,即sqrt(半径平方-1的平方)。才能覆盖住全部的草坪。 描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0,15)的圆被湿润,这有充足的喷水装置i(1,600)个,并且一定能把草坪全部湿润,你要做的是:选原创 2017-12-04 15:53:06 · 229 阅读 · 0 评论 -
冒泡排序法
冒泡法,就是从头到尾依次比较。以从小到大为例:当i = 0的时候,将后面的依次与之比较,使得0位的数,总是较小的那一个。比较完了之后,从i=1开始,接着比较;以此类推。最终,得到从小到大的数据。最差的情况是,每次比较都要换位置,操作次数为(n-1)+(n-2)+...+1=n(n-1)/2; 最好的情况是,不用交换。这里,在计算过程中加个标识计数器iCount,标识本次是否发现逆序,可改进冒泡法原创 2017-12-05 15:20:39 · 276 阅读 · 0 评论 -
快速排序
快速排序类似于抓扑克,依次比较排序完成的数组,将当前数插在合适的位置 时间复杂度O(n*n)#include <iostream>#include <stdio.h>#include <string.h>using namespace std;void insert_sort(int *a, int left, int right);void exch(int &e1, int &e2原创 2017-12-05 16:30:30 · 193 阅读 · 0 评论