数据结构
文章平均质量分 80
shl_shl
大连理工大学软件学院
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LL(1)文法代码(有一定的纠错能力)
#include #include #include using namespace std;/*产生式为:E -> TE`E` -> + TE`T -> FT`T` -> *FT`T` -> εF -> (E)F -> a*/stack s;/*给终结符编号*/int GetNumofTerminal(char ter){ if (ter == 'a'){ re原创 2016-11-28 20:51:02 · 1751 阅读 · 0 评论 -
牛客网 剑指Offer,一些值得记住的小题(五)
25.在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。public class Solution { // Parameters: // numbers:原创 2017-03-31 11:54:38 · 2134 阅读 · 0 评论 -
牛客网 剑指Offer,一些值得记住的小题(四)
19.在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 public class Solution { long count =0; public int InversePairs(int [] array) {原创 2017-03-30 18:33:45 · 802 阅读 · 0 评论 -
牛客网 剑指Offer,一些值得记住的小题(三)
13.输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。import java.util.*;public class Solution { public ArrayList Permutation(String str) { ArrayList原创 2017-03-30 15:58:09 · 2088 阅读 · 0 评论 -
简易扑克牌游戏
实现:主要为了练习List,Map的用法,已经异常处理的应用Poker类public class Poker implements Comparable { public String desgin; public String num; Poker(String desgin,String num){ this.desgin=desgin; t原创 2017-03-02 11:07:13 · 393 阅读 · 1 评论 -
牛客网 剑指Offer,一些值得记住的小题(二)
7.操作给定的二叉树,将其变换为源二叉树的镜像TreeNode类public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}Solu原创 2017-03-12 18:13:44 · 370 阅读 · 0 评论 -
牛客网 剑指Offer,一些值得记住的小题(一)
1.输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。public class Solution { public int NumberOf1(int n) { int account = 0; while(n!=0){ account++; n=n&(n-1); }原创 2017-03-05 11:01:27 · 402 阅读 · 0 评论 -
跳台阶以及变态跳台阶问题
解法一:target表示距离目标还有多远,进行递归public class Solution { public int JumpFloor(int target) { if(target==0){ return 0; }else if(target==1){ retur原创 2017-03-03 10:52:39 · 1680 阅读 · 0 评论 -
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
主要思路是,一个stack1占用来接收正常的压栈,一个stack2用来存放stack1的倒序,当执行pop()操作时,弹出的是stack2的栈顶元素,就会有“先进先出的效果”。import java.util.Stack;public class Solution { Stack stack1 = new Stack(); Stack stack2 = new Stack();原创 2017-03-03 09:06:54 · 1131 阅读 · 0 评论 -
以S属性的语法制导定义为基础,实现语法制导的翻译过程
要求:1.以S属性的语法制导定义为基础,将下表的语义规则嵌套在语法分析的过程中,即实现语法制导的翻译过程。产 生 式 语 义 规 则 L -> En print (E.val) E-> E1+ T E.val :=E1.val +T.val原创 2016-12-09 10:35:24 · 4404 阅读 · 1 评论 -
基于SLR文法,将输入串翻译成三地址代码序列
要求:输入:(b+c*d)+c*d输出:t1= c*dt2=b+t1t3= c*dt4=t2+t3本次的题目和之前的功能很类似,都是基于SLR文法的,所有代码与之前有很多共同之处。#include #include #includeusing namespace std;/*E->E+TE->TT->T*FT->FF->(E)F->id*//原创 2016-12-21 21:44:36 · 4006 阅读 · 1 评论 -
常见的排序算法实现
public class Sort { //插入排序 public static void InsertSort(int []array){ for(int i=1;i<array.length;i++){ int temp = array[i]; int j = i-1; while(j>=0 && array[j]>temp){原创 2017-04-30 15:12:34 · 392 阅读 · 0 评论
分享