DataStructure
岳麓丹枫001
这个作者很懒,什么都没留下…
展开
-
快速排序
java版/************************************************ File Name: QuickSort.java Author: lxm Created Time: 2016年04月27日 星期三 18时52分51秒 **********************************************/public c原创 2016-04-27 19:09:31 · 288 阅读 · 0 评论 -
线性表的链式存储C语言版
#include #include #define N 10typedef struct Node{ int data; struct Node *next;}Node, *LinkedList;void initList(LinkedList *L);int ListInsert(LinkedList *L, int index, int e);int ListDe原创 2016-06-22 19:00:09 · 416 阅读 · 0 评论 -
线性表的顺序存储结构C语言版
#include #define MAXSIZE 101#define N 10typedef struct SeqList{ int data[MAXSIZE]; int length;}SeqList;void initList(SeqList *L);int Listinsert(SeqList *L, int index, int e);int Listdele原创 2016-06-22 19:04:11 · 613 阅读 · 0 评论 -
二叉树的建立与递归遍历C语言版
#include #include typedef struct BTNode{char data;struct BTNode *lchild;struct BTNode *rchild;}BTNode;void createTree(BTNode* *T){char ch = getchar();if(ch=='#') {*T=原创 2016-06-22 19:36:31 · 1311 阅读 · 0 评论 -
Java链栈
package com.lxm.customDataStructure;public class LinkStack<T>{ class Node<T>{ T data; Node next; Node(T data) { this.data=data; this.next原创 2016-07-21 19:15:02 · 333 阅读 · 0 评论 -
循环队列java实现
public class SeqHeap{ Object[] data; int font; int rear; int maxSize; public SeqHeap(int maxSize) { this.maxSize = maxSize; this.data = new Object[this.maxSize]原创 2016-07-21 19:40:21 · 401 阅读 · 0 评论 -
链队列java实现
public class LinkHeap<T>{ class Node<T> { T data; Node<T> next; Node(T data) { this.data = data; this.next = null; } }原创 2016-07-21 20:16:03 · 591 阅读 · 0 评论 -
顺序表java实现
public class SeqList{ Object[] data; int maxSize; int length; public SeqList(int maxSize) { this.maxSize = maxSize; this.data = new Object[this.maxSize]; thi原创 2016-07-21 20:34:56 · 520 阅读 · 0 评论 -
两个栈实现一个队列
方法:定义两个栈分别为 A,B;入队void enQueue(ELEMTYPE e){ A.push(e);}出队ELEMTYPE deQueue(ELEMTYPE e){ if(B.isEmpty()) { while(A.isEmpty()==false) { B.push(A.pop()); } } retu原创 2016-09-16 21:43:42 · 281 阅读 · 0 评论 -
常见排序java实现
public class Sort{ public static void main(String[] args) { int[] data = {49,38,65,97,76,13,27,49}; final int N = data.length; bubbleSort(data,N); printData(dat原创 2016-07-21 19:22:28 · 329 阅读 · 0 评论 -
回文序列
描述如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。 现在给出一个数字序列,允许使用一种转换操作: 选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数原创 2016-09-28 16:23:13 · 666 阅读 · 0 评论 -
全排列
问题描述对于给定的集合 A{a1,a2,…,an}, 其中的 n 个元素互不相同,如何输出这 n 个元素的所有排列(全排列)。源码//不痛一下,你就记不住import java.util.Scanner;public class Perm{ public static void main(String[] args) { Scanner scanner = new原创 2016-09-30 14:24:45 · 331 阅读 · 0 评论 -
java实现顺序栈
public class MyStack{ Object[] data; int top; int maxSize; public MyStack(int maxSize) { this.maxSize = maxSize; this.top = -1; this.data = new Object[this原创 2016-07-21 18:26:06 · 1599 阅读 · 0 评论 -
各种排序算法集锦
#include <stdio.h>#include <malloc.h>void swap2(int a, int b);void swap(int* data, int m, int n);void printArray(int* data, int n);void bubble1(int* data, int n);//冒泡排序1void bubble2(int* data, int原创 2016-05-24 15:39:54 · 350 阅读 · 0 评论 -
链表的Java实现
import java.lang.System;public class Hello{ public static void main(String[] args) { LinkList List = new LinkList(); List.add(1); List.add(2); List.add(3);原创 2016-07-04 20:24:52 · 339 阅读 · 0 评论 -
求二叉树的宽度C语言版
#include #include #define M 100typedef struct BTNode{ char data; struct BTNode *lchild; struct BTNode *rchild;}BTNode;typedef struct Queue{ BTNode *data[M]; int f; int r;}Queue;void原创 2016-06-22 20:17:14 · 6147 阅读 · 0 评论 -
改进冒泡排序
Java版本/************************************************************************* > File Name: BubbleSort.java > Author: lxm > Created Time: 2016年04月27日 星期三 19时24分50秒 **********************原创 2016-04-27 19:35:43 · 406 阅读 · 0 评论 -
选择排序
Java版本/************************************************************************* > File Name: ChooseSort.java > Author: lxm > Created Time: 2016年04月27日 星期三 19时54分22秒 **********************原创 2016-04-27 20:10:00 · 233 阅读 · 0 评论 -
直接插入排序
java版本/************************************************************************* > File Name: DirectInsertSort.java > Author: lxlm > Created Time: 2016年04月27日 星期三 20时21分35秒 ***************原创 2016-04-27 20:42:04 · 302 阅读 · 0 评论 -
顺序队列的C语言实现
#include <stdio.h>#define MAXSIZE 101#define ELEMTYPE int#define QUEUE_EMPTY -10000typedef struct queue{ ELEMTYPE data[MAXSIZE]; int head; int tail;} Queue;void initQueue(Queue *Q);voi原创 2016-05-11 18:19:41 · 872 阅读 · 0 评论 -
顺序栈C语言实现
“`#include <stdio.h>#define MAXSIZE 10001#define ELEMTYPE int#define STACK_EMPTY -9999#define N 10typedef struct stack{ ELEMTYPE data[MAXSIZE]; int top;} Seq_Stack;void initStack(Seq_Stac原创 2016-05-11 19:48:14 · 2011 阅读 · 0 评论 -
链栈的C语言实现
/* 功能:栈的链表实现 Author:lxm Date: 20160511*/#include <stdio.h>#include <stdlib.h>#define ELEMTYPE int#define STACK_EMPTY -9999#define N 10typedef struct Node{ ELEMTYPE data; struct原创 2016-05-11 20:40:35 · 789 阅读 · 0 评论 -
链队列的C/C++实现
#include <iostream>using namespace std;const int N = 10;typedef int ELEMTYPE;typedef struct Node{ ELEMTYPE data; struct Node * next;}LNode;typedef struct queue{ LNode *head; LNode原创 2016-05-11 23:29:04 · 516 阅读 · 0 评论 -
单链表C/C++实现
#include <iostream>using namespace std;const int N = 10;typedef int ELEMTYPE;typedef struct Node{ ELEMTYPE data; Node *next;}LNode,*LinkList;void initLinkList(LinkList &L);int ins原创 2016-05-11 23:54:56 · 330 阅读 · 0 评论 -
顺序队列C/C++实现
#include <iostream>using namespace std;const int MAXSIZE = 1000;typedef int ELEMTYPE;const int N = 10;typedef struct { ELEMTYPE data[MAXSIZE]; int head; int tail;}Queue;Queue Q;void i原创 2016-05-12 18:13:14 · 562 阅读 · 0 评论 -
直接插入排序
#include <iostream>using namespace std;const int N = 10;int data[] ={6,1,2,7,9,3,4,5,10,8};void directInsertSort(int* data,int n);void printArray(int* data, int n);int main(){ directInsertSort(原创 2016-05-12 19:40:55 · 306 阅读 · 0 评论 -
折半插入排序
#include <iostream>using namespace std;const int N = 10;int data[] = {6,1,2,7,9,3,4,5,10,8};void binaryInsertSort(int* data,int n);void printArray(int* data, int n);int locate(int*data,int i);int m原创 2016-05-12 19:56:18 · 350 阅读 · 0 评论 -
快速排序2
#include <iostream>using namespace std;const int N = 10;int data[]= {6,1,2,7,9,3,4,5,10,8};void quickSort(int* data, int low,int high);void printArray(int* data, int n);int partition(int* data,int原创 2016-05-12 20:26:16 · 363 阅读 · 0 评论 -
约瑟夫环问题
问题有n个人围成一圈,顺序排号。从第一个人开始报数(从1到m报数),凡报到m的人退出圈子,问最后留下的是原来第几号的那位。python代码实例n = 10m = 3data = [1 for i in range(11)]left = nindex = 0count = 0while left>1: index = (index+1) % (n+1) ...原创 2018-03-15 09:54:55 · 272 阅读 · 0 评论