两种改进的冒泡排序算法
摘要:两种对冒泡排序的改进算法,对于n个元素的冒泡排序,普通的冒泡排序要经过n-1趟排序。第一种改进:加一个标志位,当某一趟冒泡排序没有元素交换时,则冒泡结束,元素已经有序,可以有效的减少冒泡次数。template <class T>void Sort<T>::bubbleSwap(DataList<T> &datalist, const int n, int &flag){ flag = 0; for (int i = datalist.m_nCurrentSize - 1; i >= n; i--) { if (datalist.m_pv
阅读全文
posted @
2011-12-03 14:18
Gavin Dai
阅读(6276)
推荐(0)
插入排序,二分插入排序,希尔排序思想与比较
摘要:直接插入排序的基本方法:每步将一个待排序的元素,按其排序码的大小,插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。插入排序(insert sorting)思想:当插入第i个元素时,前面的v[0],v[1],v[2]......v[i-1],已经排好序了.这时用v[i]的插入码与v[i-1],v[i-2],......排序码进行比较,找到插入的位置即插入v[i],原来位置上的元素从后向前依次后移。时间复杂度: 平均比较次数O(n2),平均移动次数O(n2).直接插入排序是一种稳定的排序。元素大部分有序时效率会更高,这时比较次数和移动次数都会减少。参考代码: void Sort
阅读全文
posted @
2011-12-02 13:44
Gavin Dai
阅读(7346)
推荐(0)
用循环链表解决Josehus问题
摘要:#include <iostream>using namespace std;struct CirLinkNode{int data;struct CirLinkNode *link;CirLinkNode(CirLinkNode *next = NULL):link(next) { }CirLinkNode(int d, CirLinkNode *next = NULL):data(d), link(next) { }};class CircList{public:CircList() { head = NULL; }void create();CirLinkNode* getH
阅读全文
posted @
2011-11-26 17:37
Gavin Dai
阅读(266)
推荐(0)
数据结构(殷人琨版)学习笔记之单链表
摘要:/**************************************************************************** file name : LinkList.h* created : 2011/11/03* description : * author : Gavin Dai XLX* update :****************************************************************************/#ifndef __LINKLIST_H#define __LINKLIST_H#include &l
阅读全文
posted @
2011-11-03 20:16
Gavin Dai
阅读(376)
推荐(0)
数据结构之单链表
摘要:/**************************************************************************** file name : LinkNode.h* created : 2011/11/02* description : * author : Gavin Dai XLX* update :****************************************************************************/#ifndef __LINKNODE_H#define __LINKNODE_H#include &l
阅读全文
posted @
2011-11-03 11:12
Gavin Dai
阅读(249)
推荐(0)
数据结构(殷人琨版)学习笔记之顺序表
摘要:把书上的伪代码整理了一下:/**************************************************************************** file name : LinearList.h* created : 2011/11/01* description : * author : Gavin Dai XLX* update :****************************************************************************/#ifndef __LINEARLIST_H#define __LINE
阅读全文
posted @
2011-11-02 12:41
Gavin Dai
阅读(424)
推荐(0)
数据结构之顺序表
摘要:最近在找工作,复习一些基础知识,所以想把以前学过的东西总结一下。在华为面试的时候被问到顺序表的优点,当然主要是与链表相对而言:1)随机访问,存储密度大。2)逻辑上相邻的物理上也相邻.顺序表的缺点:1)插入删除时不方便,要移动大量元素.实现代码:/**************************************************************************** file name : SeqList.h* created : 2011/11/01* description : * author : Gavin Dai XLX* update :*******
阅读全文
posted @
2011-11-01 18:38
Gavin Dai
阅读(1225)
推荐(0)