数据结构与算法
好清闲
编程爱好者
展开
-
C++模板函数,纠结……
<br /> 今天开始学习数据结构和算法分析,需要使用C++语言模板类,虽然用了很久的c++,但是没有用过模板函数,今天用到是非常纠结……<br />在C++中模板类的声明与实现要放在一个文件中,用Qt用VC试了都不行!浪费了我一天的时间,纠结……<br /> 以后一个月甚至更长时间将会用来学习数据结构和算法分析,并且将说实现的数据结果和算法代码贴出来!Just Do It! 加油……原创 2010-09-14 20:32:00 · 584 阅读 · 0 评论 -
各种排序算法
<br />一、简单排序算法以及代码实现<br /> 1、冒泡排序。这是一个非常简单但也是一个最慢的排序算法。算法时间复杂度为o(n*n)。基本原理:若从大到小排列,则从前往后冒泡,把最小冒泡到最后,接着在从前往后将次小冒到倒数第二,以此类推;若是从小到大,则是从前往后保最大的冒到最后;实现代码如下:<br />voidBubbleSort(intt[],intlen){inttemp;for(inti=0;i<len;i++){for(intj=0;j<原创 2010-09-15 20:37:00 · 783 阅读 · 0 评论 -
一个简单的链表类
<br />#ifndefTLINKLIST_H#defineTLINKLIST_H//#defineNULL0#include<stdlib.h>template<classT>classTLinkList;template<classT>classTLinkNode{friendclassTLinkList<T>;public:TLinkNode(TLinkNode<T>*p=NULL){next=p;}TLinkNode(const原创 2010-09-15 16:36:00 · 658 阅读 · 0 评论 -
递归输出全排列
递归学习:一个递归函数实现一般包括基本部分和递归部分两部分。基本部分是为了终止递归,递归部分是不断的递归进去直到基本部分终止。虽然递归运算需要耗费大量的栈空间(注意:栈区是由编译器自动分配和释放的,存放函数返回值、局部变量等值得地方),但是递归算法可以解决一些用非递归算法不容易解原创 2011-10-01 22:33:34 · 2932 阅读 · 0 评论 -
约瑟夫环两种解法
/*****Josephus 求解方法一:计数方法******/void Josephus_1(int n,int m){ int *array=new int[n]; int *result=new int[n]; int s,count; s=0;//记录出局人数 count=0;//记数 //赋初值 for(int原创 2011-11-19 14:41:47 · 715 阅读 · 0 评论