上一页 1 ··· 8 9 10 11 12 13 14 下一页
摘要: shell排序是对直接插入方法的改进方法.1/**//*-------------------------------------------------------------------------------------2Shell_sort.h3shell排序是对直接插入方法的改进,它并不是对相邻元素进行比较,而是对一定间隔的元素比较.4选择增量序列的几种方法:(为方便,本例采用第一种增量序列)51.h[1]=size,h[k]=h[k-1]/2.6最坏运行时间为O(N^2).7最坏情形:数组长度为2^n,数组的偶数位置上同是一个数,奇数位置上也同是一个数,8且比偶数位置的小。此时到最 阅读全文
posted @ 2009-04-22 16:50 liyuxia713 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序和改进的冒泡排序1/**//*-------------------------------------------------------------------------------------------2Bubble_sort.h3冒泡排序:时间复杂度为O(N^2)4改进的冒泡排序:时间复杂度仍为O(N^2)5一般的冒泡排序方法有可能会在已经排好序的情况下继续比较,改进的冒泡排序6设置了一个哨兵flag,如果一次for循环没有进行交换,则元素已经排好序,由哨兵控制退出循环。7--------------------------------------------------- 阅读全文
posted @ 2009-04-22 16:46 liyuxia713 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 声明待排序元素类型1/**//*--------------------------2typedef.h3方便修改待排序元素类型4-------------------------------------*/5#ifndefTYPEDEF_H6#defineTYPEDEF_H78typedefintT;910#endif插入排序:1/**//*---------------------------------------------------------------------------------------2Insertion_sort.h3直接插入排序4对以数组形式给出的元素排序5时 阅读全文
posted @ 2009-04-22 16:44 liyuxia713 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 摘要: 自己编写的一个矩阵类。 从文件中读取矩阵和将矩阵写入文件这两个函数费了一点心思,感觉作用也大一些。收获:1. 对类的static成员函数的作用有所了解。 2. 对文件的读写操作熟练了一些。clear,seekg等 3. 对异常处理的初级应用。阅读全文幸运草 2009-04-16 19:49 发表评论 阅读全文
posted @ 2009-04-16 19:49 liyuxia713 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 算法思想:先相邻两个两个比较,较大的放入数组max[],较小的放入数组min[],然后从max[]数组求出最大,min[]数组求出最小即可。比较n+[(n+1)/2] =1.5n次1#include<iostream>2#definen113#definem((n+1)/2)4usingnamespacestd;56voidmain(void)7{8intnum[]={11,2,3,4,6,5,7,8,9,10,20};9//intn=sizeof(num)/sizeof(num[0]);10//intm=(n+1)/2;11intmax[m],min[m];12intk=0,j= 阅读全文
posted @ 2009-04-14 10:11 liyuxia713 阅读(176) 评论(0) 推荐(0) 编辑
摘要: Technorati 标签: 八皇后问题//8queen.cpp//eight queens problem,总共有92个解.//八皇后问题:在8*8的方格棋盘上安置8个棋子(皇后)//要求:任何两个棋子都不能在棋盘的同一行,同一列或同一对角线上。#include <iostream>using namespace std; const int N = 8;static int num = 0; int a[N][N] = {0}; //输出矩阵void print(int a[][N],int row); //注意二维数组如何调用//判断步骤是否有效bool is_valid(i 阅读全文
posted @ 2009-04-10 11:12 liyuxia713 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 用循环队列输出杨辉三角形貌似有点小题大做,但主要是为了练习队列应用嘛。说实在这个小程序也让我调试了很长时间.用这个程序用户就可以自行输入想要的杨辉三角形的行数了。//YHTriangle.cpp//输出杨辉三角形//算法思想:首先在循环队列中存放第三行的 1,2,1和第四行的1.//若循环队列队头元素和队头第二个元素均为1,则从队头删除一个1,在队尾插入两个1.//若不然,将队对头元素和队头第二个元素相加,将和值插入到队尾,删除对头一个元素。//若想输出杨辉三角形n行,将循环队列长度设置成 n+2。//输出:前两行直接输出。定义了print函数控制后面每行输出的元素个数#include &qu 阅读全文
posted @ 2009-04-10 10:12 liyuxia713 阅读(759) 评论(0) 推荐(0) 编辑
摘要: 优点:只需要与杨辉三角形行数相同的存储空间。缺点:因为数组长度不能在运行时确定,所以杨辉三角形的长度不能通过用户自行输入确定。#include<iostream> using namespace std; const int N = 10;int main() { int a[N]={0}; a[0]=1; for(int i=1; i!=N;++i) { int m = N - i; //输出空格 while(m != 0 ) { cout << " "; --m; } //输出 for(int j=0;j != i;++j) cout <& 阅读全文
posted @ 2009-04-10 09:58 liyuxia713 阅读(343) 评论(0) 推荐(0) 编辑
摘要: Technorati 标签: 多重继承,虚继承1.多重继承下的类作用域名字查找规则:第一步,编译器找到一个匹配的声明。如果匹配的声明不止一个,则导致二义性,出错;第二步,编译器确定找到的名字是否合法。避免二义性的方法:在解决二义性的派生类中定义函数的一个版本。2. 采用虚继承的方法可以有效减少二义性。定义虚继承的方法,在派生列表中包含“virtual”。虚继承中名字查找方法。设查找函数func:(1)如果在每个路径中func表示同一基类成员,则没有二义性,因为类共享该成员的单个实例。(2)如果在某个路径中func是虚基类的成员,而在另一路径上是后代派生类的成员,也没有二义性,因为特定派生类实例 阅读全文
posted @ 2009-03-25 16:20 liyuxia713 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 1. 模板定义内的自定义类型成员调用方法(用typename显示说明):类可以定义类型成员,如size_type, size_t等类型。在定义模板类时如何调用它呢?为了说明是类型,显示用typename说明。template<class cl, class T>cl func(cl* cl_p, T value){ //cl::size_type * value; // If cl::size_type is a type, then a declaration // If cl::size_type is an object, then a multiplicationtypen 阅读全文
posted @ 2009-03-25 14:56 liyuxia713 阅读(227) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 下一页