云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 计算机软件练习题汇总

计算机软件练习题汇总

  • 62 次阅读
  • 3 次下载
  • 2025/5/23 8:48:03

last=8;

在L2表的存储结构体变量中,计算前:

data[0]=2,data[1]=4,data[2]=6,data[3]=8 last=3

待完成的算法如下:

void MergeList(SequenList *L1,Sequenlist *L2)

{/*算法进入时:L1指向第一个线性表的结构体变量

L2指向第二个线性表的结构体变量

算法退出后:L1指向第一个线性表的结构体变量,其内容为合并后的表。

L2指向第二个线性表的结构体变量,其内容未变。

*/

int i,j; /*分别表示第一个表及第二个表的当前位置指示器*/ int k; /*循环控制变量*/

int n1,n2; /*分别用于存放表L1及表L2的长度*/ DataType x; /*存放从表L2中读出的数据元素*/ n1=L1->last+1; n2=L2->last+1; i=L1->last+1; j=0;

for(k=0;k< ;k++) {

x= ; L1->data[i]=x; i++; j++; }

=n1+n2-1; return; }

开始 算法流程图:

n1<--表1的长度

n2<--表2的长度

i=表1的最后元素的下一空位置

j=表2的第一个元素位置

k=0

n k

y x<--表2的data[j]

表1的data[i]<--x 退出

i<--i+1

j<--j+1 k<--k+1

3. 阅读下面的程序,绘制出主函数main( )的程序流程图,并说明本程序实现的功能。

#define maxsize 30 #define NULL -1

typedef char datatype; typedef struct stack {

datatype elements[maxsize]; int top; } S;

void IniStack(S *s) {

s->top=-1; return;

表1的last<--n1+n2-1 }

int Push(S *s,datatype ch) {

if(s->top==maxsize-1) {

printf(\return NULL; } else {

s->top++;

s->elements[s->top]=ch; return(1); }

}

int Pop(S *s) {

if(s->top<0) {

printf(\return NULL; } else {

s->top--;

return(s->top+1); }

}

main() {

char ch1; S *s;

int f1=f2=1;

s=malloc(sizeof(S)); IniStack(s);

scanf(\while(ch1!='$') {

if(ch1=='(') f1=Push(s,ch1); if(ch1==')') f2=Pop(s); scanf(\}

if(s->top==-1&&f1!=-1&&f2!=-1) printf(\else printf(\getch(); }

4. 阅读下面的算法程序,绘制出算法流程图,并说明本算法程序实现的功能。

#define NULL 0 typedef int datatype; typedef struct node { datatype data; struct node *next;

} linklist;

INSERT(linklist *L, datatype x) { linklist *p,*q, *s;

s=(linklist *)malloc(sizeof(linklist)); s->data=x; p=L;

q=L->next;

while((q->datanext!=NULL)) { p=q; q=q->next; } if(q->next==NULL) {

q->next=s; s->next=NULL; } else {

p->next=s; s->next=q; } }

5. 下面的自定义类型SeqQueue表示循环队列的一种顺序存储结构实现方法,(1)请将相

关的入队和出队运算(操作)函数填写完整;(2)写出测试程序的执行结果;(3)给程序加分析注释。

/*----文件myqueue.h的内容如下----*/ #define MaxLength 1024 typedef int datatype; typedef struct sequeue{

datatype data[MaxLength]; int front,rear; }SeqQueue;

void SETNULLQS(SeqQueue *p)

{

if(p==NULL) return; else {

p->front=MaxLength-1; p->rear=MaxLength-1; }

return;

}

int ENQUEUEQS(SeqQueue *p, datatype x) {

int tail;

if(p->front== (p->rear+1) ){

printf(“\\n队已经满啦!\\n”); return (0); }

搜索更多关于: 计算机软件练习题汇总 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

last=8; 在L2表的存储结构体变量中,计算前: data[0]=2,data[1]=4,data[2]=6,data[3]=8 last=3 待完成的算法如下: void MergeList(SequenList *L1,Sequenlist *L2) {/*算法进入时:L1指向第一个线性表的结构体变量 L2指向第二个线性表的结构体变量 算法退出后:L1指向第一个线性表的结构体变量,其内容为合并后的表。 L2指向第二个线性表的结构体变量,其内容未变。 */ int i,j; /*分别表示第一个表及第二个表的当前位置指示器*/ int k;

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com