
数据结构
MContour
这个作者很懒,什么都没留下…
展开
-
链表实现——堆栈模拟队列 2020.09.20
基础实验3-2.5 堆栈模拟队列 (25分) 设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。 所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数: int IsFull(Stack S):判断堆栈S是否已满,返回1或0; int IsEmpty (Stack S ):判断堆栈S是否为空,返回1或0; void Push(Stack S, ElementType item ):将元素item压入堆栈S; ElementType Pop(Stack S ):删除并返回S的栈顶元素。 实现队列原创 2020-09-20 12:42:06 · 182 阅读 · 0 评论 -
链表实现———出栈序列的合法性(待完善) 2020.09.20
基础实验3-2.4 出栈序列的合法性 (25分) 给定一个最大容量为 M 的堆栈,将 N 个数字按 1, 2, 3, …, N 的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定 M=5、N=7,则我们有可能得到{ 1, 2, 3, 4, 5, 6, 7 },但不可能得到{ 3, 2, 1, 7, 5, 6, 4 }。 输入格式: 输入第一行给出 3 个不超过 1000 的正整数:M(堆栈最大容量)、N(入栈元素个数)、K(待检查的出栈序列个数)。最后 K 行,每行给出 N 个数字的出栈原创 2020-09-20 11:28:49 · 264 阅读 · 2 评论 -
组合数的和2020.09.18
给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。 输入格式: 输入在一行中先给出 N(1 < N < 10),随后给出 N 个不同的非 0 个位数字。数字间以空格分隔。 输出格式: 输出所有可能组合出来的2位数字的和。 输入样例: 3 2 8 5 输出样例: 330 #include<stdio.h> int ma原创 2020-09-18 17:30:36 · 168 阅读 · 0 评论 -
简单计算器2020.09.13
#include <stdio.h> #include <stdlib.h> int SimpleCalculator() { char ch; int sum, ci; scanf("%d", &ci); scanf("%c", &ch); while(ch != '=') { scanf("%d", &sum); switch (ch) {原创 2020-09-13 18:37:43 · 128 阅读 · 0 评论 -
最大子列和问题2020.09.13
#include <stdio.h> #define MaxSize 100000 // 穷举法 int MaxSubseqSum1(int List[], int N) { int i, j, k; int ThisSum, Maxsum = 0; for(i = 0; i < N; i++) { for(j = i; j < N; j++) //the right limitation { T原创 2020-09-13 16:18:00 · 111 阅读 · 0 评论