数据结构
A飞啊131
这个作者很懒,什么都没留下…
展开
-
合并顺序表
//8557 输入格式 第一行:顺序表A的元素个数 第二行:顺序表A的各元素(非递减),用空格分开 第三行:顺序表B的元素个数 第四行:顺序表B的各元素(非递减),用空格分开 输出格式 第一行:顺序表A的元素列表 第二行:顺序表B的元素列表 第三行:合并后顺序表C的元素列表 输入样例 5 1 3 5 7 9 5 2 4 6 8 10 输出样例 List A:1 3 5原创 2016-03-18 10:46:45 · 505 阅读 · 0 评论 -
朴素的模式匹配算法
子串的定位操作通常称做模式匹配,其中子串称做模式串,主串称做目标串,朴素的模式匹配算法即是模式匹配的一种算法,其优点是简单易懂,易于理解,某些应用场合效率较高。缺点是需要多次回溯,对于数据较大的文本文件而言效率极低。代码如下: 注意:为了便于理解,设两个字符串的下标从1开始,即下标为0的字符用空格代替不计,因此,两个串的实际长度是strlen-1;(数据结构中,串使用定长顺序存储结构),同时主串为原创 2016-04-11 20:33:28 · 3902 阅读 · 2 评论 -
顺序线性表的实现
在C++的编译环境下运行(部分代码使用到 & 引用符, & 可以修改数据)// 准备//----------#include <iostream>#include <stdio.h>#include <malloc.h>using namespace std;//----------//status类型(int)返回值为函数结果代码,便与描述#define Status int#d原创 2016-03-17 11:12:54 · 272 阅读 · 0 评论 -
链表按值大小插入和结点排序
struct student *insert (struct student *head, struct student *stud){ struct student *p,*q,*s; p=head; q=head->next; s=stud; while (q->num<s->num&&p!=NULL){ q=q->next;原创 2016-03-18 20:51:16 · 2511 阅读 · 0 评论 -
链表及其简单操作
#include<stdio.h>#include<malloc.h>#define ERROR 0#define OK 1#define ElemType inttypedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;int CreateLink_L(LinkList &L,int n){ Lin原创 2016-03-21 13:25:11 · 406 阅读 · 0 评论 -
有序链表的合并
#include<stdio.h>#include<malloc.h>#define ERROR 0#define OK 1#define ElemType inttypedef int Status;typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;Status ListInsert_L(Lin原创 2016-03-21 14:00:40 · 414 阅读 · 1 评论 -
单链表的逆序
Status ruturn_L(LinkList &L){ LinkList head,next,prev; prev=NULL; head=L->next; while (head!=NULL){ next=head->next; // head->next=prev;原创 2016-03-21 21:03:02 · 308 阅读 · 0 评论 -
链表的冒泡排序
struct DATA *sort(struct DATA *head) { struct DATA *q1,*q2; for (q1=head;q1!=NULL;q1=q1->next){ for (q2=head;q2!=NULL;q2=q2->next){ long temp; if (q1->num<=原创 2016-03-22 23:46:20 · 280 阅读 · 0 评论 -
栈 行编辑程序
typedef char SElemType;#include"malloc.h"#include"stdio.h"#include"math.h"#include"stdlib.h" #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int Status; // Status是函数的类型,其值是函数结果原创 2016-03-25 11:08:31 · 713 阅读 · 0 评论 -
栈 括号匹配程序
typedef char SElemType;#include"malloc.h"#include"stdio.h"#include"math.h"#include"stdlib.h" // exit()#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int Status; // Status是函数的类原创 2016-03-25 00:08:08 · 333 阅读 · 0 评论 -
栈的一些基本操作
#include<malloc.h>#include<stdio.h>#define OK 1#define ERROR 0#define STACK_INIT_SIZE 100 // 存储空间初始分配量#define STACKINCREMENT 10 // 存储空间分配增量typedef int SElemType; // 定义栈元素类型typedef int Status; //原创 2016-03-23 11:24:57 · 445 阅读 · 0 评论 -
链表实现约瑟夫环
//实现算法---//准备:含有头结点的单链表,每个结点的数据域存储顺序;//思路:**使单链表的为尾结点连接首元结点 形成循环链表 然后每个M(代码中为3)个数字删除一位,循环至最后,只剩下一个结点就是结果**void game_Links(Linklist &L){ Linklist p,s; p=L->next; while(p->next!原创 2016-03-23 19:59:40 · 510 阅读 · 0 评论 -
循环队列
/*循环队列2016年4月3日10:57:04*/#include<malloc.h>#include<stdio.h>#define MAXQSIZE 10typedef int Status;#define OK 1#define ERROR 0typedef int QElemType;//-----------------------typedef struct{原创 2016-04-03 10:58:17 · 310 阅读 · 0 评论 -
单链队列的基本操作实现
#include <stdio.h>#include <stdlib.h>#include <malloc.h>typedef struct Queue { int data; struct Queue * next;}Queue; //队列数据项的组成,数据部分和next指针typedef struct { struct Queue *front; st原创 2016-04-02 23:31:51 · 1375 阅读 · 0 评论 -
二叉树的构建和三种遍历算法 (递归实现)
#include "stdio.h"#include "malloc.h"#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef char ElemType;typedef struc原创 2016-04-18 22:34:02 · 766 阅读 · 0 评论