比这篇新的文章:
代码发芽网显示代码时做行号切换的javascript脚本
比这篇旧的文章: HTML + Django测试
作者: 翁翁, 点击1136次, 评论(0), 收藏者(0), , 打分:
所有评论,共0条:( 我也来说两句)
比这篇旧的文章: HTML + Django测试
冒泡排序
语言: C++, 标签: 无 2008/05/29发布 1年前更新 更新记录作者: 翁翁, 点击1136次, 评论(0), 收藏者(0), , 打分:
C++语言: 冒泡排序
01 // 冒泡排序
02 // 运行前在程序相同目录下手工生成测试文件:test.txt
03
04 #include <fstream>
05 #include <iostream>
06 #include <vector>
07
08 typedef std::vector<int> IntVector;
09 typedef IntVector::iterator IntIterator;
10
11 void ReadFile(IntVector& vec)
12 {
13 std::ifstream infile("test.txt");
14 while(!infile.eof())
15 {
16 int temp;
17 infile >> temp;
18 vec.push_back(temp);
19 }
20 }
21
22 void Output(std::ostream& oo, IntVector& vec)
23 {
24 for (IntIterator it = vec.begin();
25 it != vec.end();
26 ++it)
27 oo << *it << ' ';
28 oo << std::endl;
29 }
30
31 void swap(IntIterator& itFirst, IntIterator& itLast)
32 {
33 int temp = *itFirst;
34 *itFirst = *itLast;
35 *itLast = temp;
36 }
37
38 int main(int, char**)
39 {
40 IntVector vec;
41 ReadFile(vec);
42
43 std::cout << "Before sort:\n";
44 Output(std::cout, vec);
45 std::cout << "\nBubble sort:\n";
46
47 for (IntIterator itFirst = vec.begin();
48 itFirst != vec.end();
49 ++itFirst)
50 {
51 IntIterator itLast = vec.end()-1;
52 while (itLast != itFirst) {
53 if (*itLast < *(itLast-1))
54 swap(itLast, itLast-1);
55 --itLast;
56 }
57 Output(std::cout, vec);
58 }
59
60 return 0;
61 }
02 // 运行前在程序相同目录下手工生成测试文件:test.txt
03
04 #include <fstream>
05 #include <iostream>
06 #include <vector>
07
08 typedef std::vector<int> IntVector;
09 typedef IntVector::iterator IntIterator;
10
11 void ReadFile(IntVector& vec)
12 {
13 std::ifstream infile("test.txt");
14 while(!infile.eof())
15 {
16 int temp;
17 infile >> temp;
18 vec.push_back(temp);
19 }
20 }
21
22 void Output(std::ostream& oo, IntVector& vec)
23 {
24 for (IntIterator it = vec.begin();
25 it != vec.end();
26 ++it)
27 oo << *it << ' ';
28 oo << std::endl;
29 }
30
31 void swap(IntIterator& itFirst, IntIterator& itLast)
32 {
33 int temp = *itFirst;
34 *itFirst = *itLast;
35 *itLast = temp;
36 }
37
38 int main(int, char**)
39 {
40 IntVector vec;
41 ReadFile(vec);
42
43 std::cout << "Before sort:\n";
44 Output(std::cout, vec);
45 std::cout << "\nBubble sort:\n";
46
47 for (IntIterator itFirst = vec.begin();
48 itFirst != vec.end();
49 ++itFirst)
50 {
51 IntIterator itLast = vec.end()-1;
52 while (itLast != itFirst) {
53 if (*itLast < *(itLast-1))
54 swap(itLast, itLast-1);
55 --itLast;
56 }
57 Output(std::cout, vec);
58 }
59
60 return 0;
61 }
所有评论,共0条:( 我也来说两句)
代码
