北大“數(shù)據(jù)結(jié)構(gòu)”上機考試復習題總結(jié)(2) -自考串講筆記
數(shù)據(jù)結(jié)構(gòu)練習題4
1. 編一C程序,它能根據(jù)輸入的二叉樹中序和后序序列來構(gòu)造該二叉樹,并能輸出該二叉樹的前序序列和該二叉樹的度為2的結(jié)點的個數(shù)并能判斷該二叉樹是否為二叉排序樹(若是輸出Yes;否則輸出No)。(輸入次序是:表示中序序列的字母串、表示后序序列的字母串)。
?。ㄗⅲ撼绦虻目蓤?zhí)行文件名必須是 e1.exe,存于你的賬號或其debug目錄下。)
#include <stdio.h>
#include <malloc.h>
#include <string.h>
void exit(int);
#define MAX 100
typedef struct node{
char d;
struct node *lchild,*rchild;
}Tnode;
void MKTree(char in[],int is,int ie,char post[],int posts,int poste,Tnode **r)
{
int i;
if(is<ie||posts<poste)
*r=NULL;
else{
*r=malloc(sizeof(Tnode));
(*r)->d=post[poste];
for(i=is;i<=ie;i++)
if(post[poste]==in[i])
{
MKTree(in,is,i-1,post,posts,posts+i-is-1,&(*r)->lchild);
MKTree(in,i+1,ie,post,posts+i-is,poste-1,&(*r)->rchild);
break;
}
if(i>ie){
printf(“Error:input contain an error !\n”);
exit(9);
}
}
}
void BST(char in[],int is,int ie)
{
int i;
if(is==ie)
printf(“yes\n”);
else
{
for(i=is;i<=ie;i++)
{
if(in[i]<in[i+1])
continue;
else
break;
}
if(i==ie)
printf(“YES\n”);
else
printf(“NO\n”);
}
}
void preorder(Tnode *r)
{
if(r)
{
printf(“%c”,r->d);
preorder(r->lchild);
preorder(r->rchild);
}
}
int seconde(Tnode *r)
{
if(r==NULL)
return 0;
else
if((r->lchild)!=NULL&&(r->rchild)!=NULL)
return 1;
else
return seconde(r->lchild)+seconde(r->rchild);
}
void main()
{
Tnode *r;
char post[MAX],in[MAX];
printf(“input inorder and postorder !\n”);
gets(in);
gets(post);
MKTree(in,0,strlen(in)-1,post,0,strlen(post)-1,&r);
printf(“the preorder is as follows:\n”);
preorder(r);
printf(“\n there are %d seconde in the tree \n”,seconde(r));
printf(“if the tree is BST:\n”);
BST(in,0,strlen(in)-1);
}
2.編一C程序,它能讀入一串整數(shù)(以-9999為結(jié)束標記),再以與輸入次序相反的次序輸出這串整數(shù)(輸入、出時,兩個相鄰的整數(shù)用空格隔開)。
(注:程序的可執(zhí)行文件名必須是 e2.exe,存于你的賬號或其debug目錄下。)
#include <stdio.h>
#define max 10000
main()
{
int a[max];
int n=0,i,d;
printf(“please enten tne number:\n”);
do{
scanf(“%d”,&d);
if(d==-9999)
break;
n++;
a[n]=d;
}while(9);
for(i=n;i>0;i——)
printf(“%4d”,a[i]);
printf(“\n”);
}
數(shù)據(jù)結(jié)構(gòu)練習題5
1. 編一C程序,它能讀入一個大寫英文字母串(字母個數(shù)不多于100,字母兩兩不同),并構(gòu)造以這些字母為關(guān)鍵字的二叉排序樹,再輸出該二叉排序樹的后序序列和頁結(jié)點個數(shù)。
?。ㄗⅲ撼绦虻目蓤?zhí)行文件名必須是 e1.exe,存于你的賬號或其debug目錄下,否則無成績)
2. 編一C程序,它能讀入兩組整數(shù)(每組整數(shù)都以-9999為結(jié)束標記,-9999不算在內(nèi)。個數(shù)都不大于1000),并以從小到大的次序輸出既在第一組整數(shù)中也在第二組整數(shù)中的所有整數(shù)(同一個整數(shù)不能輸出兩次)。(輸入時,兩個相鄰的整數(shù)用空格隔開)。
(注:程序的可執(zhí)行文件名必須是 e2.exe,存于你的賬號或其debug目錄下,否則無成績)
#include <stdio.h>
void paixu(int r[],int n)
{
int i,j,k;
int exchange;
for(i=0;i<=n;i++)
{
exchange=0;
for(j=n-1;j>=i;j——)
if(r[j+1]<r[j])
{
k=r[j+1];
r[j+1]=r[j];
r[j]=k;
exchange=1;
}
if(!exchange)
break;
}
}
int jiaoji(int m[],int n[],int l[],int countaa,int countbb)
{
int w,x,y;
int i=0,j=0,k=0;
for(w=0;w<=countaa;w++)
{
for(x=w+1;x<=countaa;x++)
{
if(m[w]==m[x])
{
countaa——;
for(y=x;y<=countaa;y++)
{
m[y]=m[y+1];
}
x——;
}
}
}
while(i<=countaa)
{
for(j=0;j<=countbb;j++)
{
if(m[i]==n[i])
{
l[k]=m[i];
k++;
break;
}
}
i++;
}
return k;
}
void main()
{
int a[1000],b[1000],c[2000];
int excange=0,i,countA,countB,countC;
printf(“請輸入數(shù)組a: \n”);
for(i=0;i<=1000;i++)
{
scanf(“%d”,&a[i]);
if(a[i]==-9999)
break;
}
countA=i-1;
paixu(a,countA);
printf(“請輸入數(shù)組b: \n”);
for(i=0;i<=1000;i++)
{
scanf(“%d”,&b[i]);
if(b[i]==-9999)
break;
}
countB=i-1;
paixu(b,countB);
countC=jiaoji(a,b,c,countA,countB);
printf(“\n\n”);
for(i=0;i<=countC-1;i++)
printf(“%d”,c[i]);
printf(“\n”);
2.部分稿件來源于網(wǎng)絡,如有不實或侵權(quán),請聯(lián)系我們溝通解決。最新官方信息請以湖北省教育考試院及各教育官網(wǎng)為準!
-
112023-03湖北自考《運輸保險》精選習題及答案匯總湖北自考《運輸保險》精選習題及答案匯總
-
112023-03湖北自考《運輸保險》精選習題及答案(5)湖北自考《運輸保險》精選習題及答案(5)
-
112023-03湖北自考《運輸保險》精選習題及答案(4)湖北自考《運輸保險》精選習題及答案(4)
-
112023-03湖北自考《運輸保險》精選習題及答案(3)湖北自考《運輸保險》精選習題及答案(3)
-
112023-03湖北自考《運輸保險》精選習題及答案(2)湖北自考《運輸保險》精選習題及答案(2)
-
112023-03湖北自考《運輸保險》精選習題及答案(1)湖北自考《運輸保險》精選習題及答案(1)
已幫助10w萬+意向?qū)W歷提升用戶成功上岸
毛澤東思想概論
培訓優(yōu)勢:課時考點精講+刷題+沖刺,熟練應對考試題型。全程督促學習,安排好學習計劃。 毛澤東思想概論...自考培訓英語二
本課程既是一門語言實踐課程,也是拓寬知識、了解世界文化的重要素質(zhì)課程,它以培養(yǎng)學習者的綜合語言應用能力為目標,使他們在學習、工作和社會交往中能夠使用英語進行有效的交流。 英語二...自考培訓馬克思主義基本原理概論
本書包括兩個部分:自學考試大綱和基本原理。主要內(nèi)容有,馬克思主義是關(guān)于工人階級和人類解放的科學,物質(zhì)世界及其發(fā)展規(guī)律,認識的本質(zhì)及其規(guī)律,人類社會及其發(fā)展規(guī)律,資本主義的形成及其發(fā)展,資本主義發(fā)展的歷史進程,社會主義社會及其進程,共產(chǎn)主義社會及其進程等。 馬克思主義基本原理概論...自考培訓思想道德修養(yǎng)與法律基礎
《思想道德修養(yǎng)與法律基礎》課具有鮮明的政治性、思想性、理論性、針對性、科學性、知識性以及實踐性和修養(yǎng)性。它包羅政治、思想、道德、心理本質(zhì)、學習成才和法律本質(zhì)等內(nèi)容,指導和回答大學生在人生、抱負、信念等方面遍及關(guān)心和迫切需要解決的問題。 思想道德修養(yǎng)與法律基礎...自考培訓中國近代史綱要
“中國近現(xiàn)代史綱要”全國高等教育自學考試指定教材,依據(jù)中央審定的普通高等學校“中國近現(xiàn)代史綱要”編寫大綱以及馬克思主義理論研究和建設工程重點教材《中國近現(xiàn)代史綱要》,結(jié)合自學考試的特點設計了十章,集中講述1840年鴉片戰(zhàn)爭爆發(fā)一直到2007年中國共產(chǎn)黨第十七次全國代表大會召開的160多年的中國近現(xiàn)代歷史。 中國近代史綱要...自考培訓
- 2025年上半年華中農(nóng)業(yè)大學自考實踐課程及畢業(yè)論文考核安排通知
- 2025年4月武漢輕工大學自考網(wǎng)絡助學綜合測評考核實施方案
- 2025年4月中南財經(jīng)政法大學自考學業(yè)綜合評價網(wǎng)絡助學綜合測驗工作安排通知
- 2025年春季武漢大學自考本科畢業(yè)生學士學位申請工作通知
- 2025年上半年漢江師范學院自考本科助學班畢業(yè)論文答辯工作通知
- 2025年4月漢江師范學院自考集中網(wǎng)絡綜合測試通知
- 2025年4月武漢大學自考網(wǎng)絡助學綜合測評考生須知
- 湖北小自考報考需要注意什么?速來了解!
- 湖北小自考哪些院校值得報?考生速看
- 湖北自考考公考編受學歷限制嗎?速來了解! 查看更多

掃一掃關(guān)注微信公眾號
隨時獲取湖北省自考政策、通知、公告以及各類學習資料、學習方法、課程。