![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 76
jxkongyue
这个作者很懒,什么都没留下…
展开
-
双向链表的基本操作
双向链表的很多操作和单链表是相同的,比如求长度的操作,查找元素的操作。不过有些操作是有一些区别的,如插入、删除元素。#include /*用到了srand函数,所以要有这个头文件*/#include /*用到了time函数,所以要有这个头文件*/#include using namespace std;typedef int ElemType;typedef int Status;原创 2013-06-21 15:16:55 · 536 阅读 · 0 评论 -
用循环单链表解决约瑟夫问题
http://www.oschina.net/code/snippet_188162_9893原创 2013-06-21 15:25:18 · 1537 阅读 · 0 评论 -
一些字符串题目
1、求一个字符串中连续出现次数最多的子串例如: cccabababab(4次),出现次数最多的是ab, abcabcccc,出现次数最多的是c(4次)。方法:按照子串的大小由1,到 数组的size,进行寻找。然后找出大小为 L的子串的所有情况,并依此寻找其连续的相同的子串,并计数。通过比较记录下连续出现次数最多的子串。方法效率比较低,有待优化。/******************原创 2013-08-08 12:51:58 · 442 阅读 · 0 评论 -
单链表的一些操作
以下代码参考自《大话数据结构》一书。写的不太好,C/C++混杂。关于单链表的排序等操作以后补上。#include /*用到了srand函数,所以要有这个头文件*/#include /*用到了time函数,所以要有这个头文件*/#include using namespace std;typedef int ElemType;typedef int Status;#defin原创 2013-06-16 16:59:38 · 437 阅读 · 0 评论 -
一些常见排序算法
常见的排序算法有冒泡排序、简单选择排序、直接插入排序、shell排序、堆排序、归并排序和快速排序。具体代码如下:#include #include using namespace std;/********* 冒泡排序 *********/void bubbleSort1(int* a, int Length){ for ( int i=原创 2013-07-04 10:11:09 · 437 阅读 · 0 评论 -
二叉排序树
二叉排序树的查找、插入和删除操作#include using namespace std;typedef int Status;#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef struct BiTNode{ int data; struct BiTNode *lchild, *rchild;原创 2013-07-01 11:23:59 · 435 阅读 · 0 评论 -
查找
1. 二分查找、插值查找和斐波那契查找#include using namespace std;//顺序表查找,又叫线性查找,一个一个匹配int sequential_search( int* a, int n,int key){ int i=n-1; while ( a[i]!=key &&i>=0) { i--; } return i; //返原创 2013-06-28 20:18:53 · 349 阅读 · 0 评论 -
队列
1、循环队列-队列的顺序存储#include using namespace std;typedef int SElemType;typedef int Status;#define OK 1#define ERROR 0#define MAXSIZE 100typedef int QElemType;typedef struct { QElemType data[MA转载 2013-06-25 16:21:20 · 380 阅读 · 0 评论 -
栈的实现
1、栈的顺序存储结构及其实现#include using namespace std;typedef int SElemType;typedef int Status;#define OK 1#define ERROR 0#define MAXSIZE 100typedef struct SqStack{ SElemType data[MAXSIZE]; int top原创 2013-06-24 21:30:20 · 539 阅读 · 0 评论 -
编程之美读书心得(二)
2.5寻找最大的K个数问题:有很多个无序的数,我们姑且假定它们各不相等,怎么选出其中最大的若干个数呢?基于快速排序方法的解法:#include#includeusing namespace std;int partition(int* a, int left, int right ){ int privotKey = a[left]; while( left< right){原创 2013-08-27 14:38:46 · 571 阅读 · 0 评论