排序算法之直接插入排序
2010-09-24 21:54
246 查看
直接插入排序实现(by C++)
代码
1 #include <iostream>
2 using namespace std;
3
4 /*
5 InsertSort::InsertSort( vector<int> _list, int _len ) {
6 for ( int i = 0; i < _len; ++i )
7 list.push_back( _list[i] );
8 this->len = _len;
9 }
10
11 void InsertSort::insert_sort() {
12 int insertNum;
13 for ( int i = 1; i < len; ++i ) {
14 insertNum = list[i];
15 int j = i;
16 while ( j > 0 && insertNum < list[j - 1] ) {
17 list[j] = list[j - 1];
18 j--;
19 }
20 list[j] = insertNum;
21 }
22 }
23
24 void InsertSort::out() {
25 for ( int i = 0; i < len; ++i ) {
26 cout << list[i] << " ";
27 if ( ( i + 1 ) % 18 == 0 )
28 cout << endl;
29 }
30 cout << endl;
31 }
32
33 */
34 int a[8] = { 46, 58, 15, 45, 90, 18, 10, 62 };
35
36 void InsertSort( ) {
37 int i, j;
38 for ( i = 1; i < 8; ++i ) {
39 int temp = a[i];
40 for ( j = i; j > 0 && temp < a[j - 1]; --j )
41 a[j] = a[j - 1];
42 a[j] = temp;
43 }
44 }
45
46 int main() {
47 InsertSort( );
48 for ( int i = 0; i < 8; ++i )
49 cout << a[i] << " ";
50 cout << endl;
51 }
52
代码
1 #include <iostream>
2 using namespace std;
3
4 /*
5 InsertSort::InsertSort( vector<int> _list, int _len ) {
6 for ( int i = 0; i < _len; ++i )
7 list.push_back( _list[i] );
8 this->len = _len;
9 }
10
11 void InsertSort::insert_sort() {
12 int insertNum;
13 for ( int i = 1; i < len; ++i ) {
14 insertNum = list[i];
15 int j = i;
16 while ( j > 0 && insertNum < list[j - 1] ) {
17 list[j] = list[j - 1];
18 j--;
19 }
20 list[j] = insertNum;
21 }
22 }
23
24 void InsertSort::out() {
25 for ( int i = 0; i < len; ++i ) {
26 cout << list[i] << " ";
27 if ( ( i + 1 ) % 18 == 0 )
28 cout << endl;
29 }
30 cout << endl;
31 }
32
33 */
34 int a[8] = { 46, 58, 15, 45, 90, 18, 10, 62 };
35
36 void InsertSort( ) {
37 int i, j;
38 for ( i = 1; i < 8; ++i ) {
39 int temp = a[i];
40 for ( j = i; j > 0 && temp < a[j - 1]; --j )
41 a[j] = a[j - 1];
42 a[j] = temp;
43 }
44 }
45
46 int main() {
47 InsertSort( );
48 for ( int i = 0; i < 8; ++i )
49 cout << a[i] << " ";
50 cout << endl;
51 }
52
相关文章推荐
- 排序算法之直接插入排序----java实现
- 排序算法(3)-直接插入排序
- 【排序算法-4】直接插入排序法
- 菜鸟学编程之三:三种最基本排序算法的实现(冒泡排序、选择排序、直接插入排序)
- 排序算法系列——直接插入排序
- 排序算法(二)、插入排序 —— 直接插入排序 和 希尔排序
- 排序算法总结(冒泡排序、直接插入排序、希尔排序)(python实现)
- 排序算法-直接插入排序
- 开贴聊八大排序算法之直接插入排序(一)
- 排序算法——直接插入排序
- 【排序算法总结】直接插入排序
- 排序算法汇总(选择排序 ,直接插入排序,冒泡排序,希尔排序,快速排序...)
- 数据结构之排序算法Java实现(5)—— 插入类排序之直接插入排序算法
- C语言实现基本排序算法----排序(直接插入排序,SHELL排序,冒泡排序,快速排序,简单选择排序,堆排序)
- 排序算法(一)直接插入排序
- 排序算法之一:插入排序之【直接插入排序】
- 常用的排序算法:冒泡,简单选择,直接插入,快速排序,堆排序
- 排序算法之直接插入排序、选择排序和冒泡排序
- 排序算法之直接插入排序(JAVA)
- 排序算法之直接插入排序