
数据结构
zlzzlloo
一个不甘落后的静静
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计算法求两个顺序表的并集。例如,两个线性表A{6,8,3,11,34},B{8,4,11,33}则A=A∪B={6,8,3,11,34,4,33}。
接触C语言没多久如果有错误欢迎指出代码如下#include<stdio.h>#include<stdlib.h>#define MAXSIZE 20#define false -1typedef struct AN *List;typedef int ElementType;struct AN{ElementType Date[MAXSIZE];int Last;};List MakeEmpty(){List L;L=(List)malloc(sizeof原创 2021-03-10 23:01:29 · 606 阅读 · 0 评论 -
设计算法实现两个非递减有序线性表的合并。例如,A{3,6,8,11,34,55,66},B{4,8,11,33},两个线性表合并的结果C={3,4,6,8,8,11,11,33,34,55,66}。
还是不太会算法,每个算法都要写好久,思路是有一点点的写了半天编译和答案总与都对了,如果有误还请指出,谢谢下面展示代码。#include<stdio.h>#include<stdlib.h>#define MAXSIZE 20#define false -1typedef struct AN *List;typedef int ElementType;struct AN{ ElementType Date[MAXSIZE]; int Last;};//制空表原创 2021-03-11 21:54:38 · 473 阅读 · 0 评论 -
堆栈简单操作
简单实现堆栈操作#include<stdio.h>#include<stdlib.h>#define true 1#define false 0#define ERROR -1typedef int ElementType;typedef int Position;typedef struct SNode *Stack;struct SNode { ElementType *Data; Position Top; int MaxSize;};Stack C原创 2021-03-25 15:29:39 · 227 阅读 · 0 评论 -
7-18 银行业务队列简单模拟
问题:设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的顺序输出顾客序列。假定不考虑顾客先后到达的时间间隔,并且当不同窗口同时处理完2个顾客时,A窗口顾客优先输出。输入格式:输入为一行正整数,其中第1个数字N(≤1000)为顾客总数,后面跟着N位顾客的编号。编号为奇数的顾客需要到A窗口办理业务,为偶数的顾客则去B窗口。数字间以空格分隔。输出格式:按业务处理完成的顺序原创 2021-03-28 17:34:07 · 133 阅读 · 0 评论 -
6-1 在一个数组中实现两个堆栈
本题要求在一个数组中实现两个堆栈函数接口定义:Stack CreateStack( int MaxSize );bool Push( Stack S, ElementType X, int Tag );ElementType Pop( Stack S, int Tag );其中Tag是堆栈编号,取1或2;MaxSize堆栈数组的规模;Stack结构定义如下:typedef int Position;struct SNode { ElementType *Data; Posit原创 2021-03-31 17:27:39 · 1288 阅读 · 0 评论 -
pta单链表逆转
单链表逆转放代码:List Reverse( List L ){ PtrToNode old_head,new_head,t; old_head=L; new_head=NULL; while(old_head){ t=old_head->Next; old_head->Next=new_head; new_head=old_head; old_head=t; } L=new_head; return L;} 整个过程就是不断更新新头结点和旧的头节点原创 2021-04-10 10:59:54 · 386 阅读 · 0 评论