题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2023-09-27 15:41:01

[简答题]有n个记录存储在带头结点的双向链表中,现用双向冒泡排序法对其按升序进行排序,请写出这种排序的算法(注:双向冒泡排序即相邻两趟排序向相反方向起泡)。

更多"有n个记录存储在带头结点的双向链表中,现用双向冒泡排序法对其按升序进行"的相关试题:

[简答题]有n个记录存储在带头结点的双向链表中,现用双向冒泡排序法对其按升序进行排序,请写出这种排序的算法。(注:双向冒泡排序即相邻两趟排序向相反方向起泡)。
[填空题]带头结点的双向循环链表L为空的条件是______。
[单项选择]已知一个线性储存的线性表设每个结点需要占n个存储单元,若第一个结点地址为xul,则第i个结点的地址为()
A. xul+(i-1)*n
B. xul+i*n
C. xul-i*n
D. xul+(i+1)*n
[填空题]在有n个结点的二叉树的llink-rlink法存储表示中,n个结点所含有的2n个指针中,必有【 】个为空指针。
[填空题]在有n个结点的二叉树的llink-rlink法存储表示中,n个结点所含有的2n个指针中,必有 【4】 个为空指针。
[填空题]下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#defineN 8
typedef street list

int data;
struct list*next;
SLIST;
SLIST*creatlist(int*a);
void outlist(SLIST*);
void fun(SLIST*h,int*n)

SLIST*p;
/***************found***********/
______=0;
p=h->next;
while(p)

(*n)++;
/*************found***********/
p=p->______;


main( )

SLIST*head;
int a[N]=12,87,45,32,91,16,20,48,num;
head=creatlist(a);
outlist(head);
/*************found*********/
fun(______,&num);
printf("/number=%d/n",num);

SLIST*creatlist(int a[])

SLIST*h,*p,*q; int i;
h=p=(SLIST*)malloc(sizeof(SLIST));
for(i=0;i<N;i++)

q=(SLIST*)malloc(sizeof(SLIST));
q->data=a[i];p
[填空题]在有n个结点的二叉树的llink-rlink法存储表示中,n个结点所含有的2n个指针中,必有 【2】 个为空指针。
[填空题]1】
假设以带头结点的单循环链表作非递减有序线性表的存储结构。函数deleteklist(LinkList head)的功能是删除表中所有数值相同的多余元素,并释放结点空间。
例如:链表初始元素为:
(7, 10,10,21,30,42,42,42,51,70)
经算法操作后变为:
(7,10,21,30,42,51,70)
【函数3.1】
void deleteklist(LinkList head)

LinkNode * p, * q;
p=head->next;
while(p!=head)

q=p->next;
 while( (1) )

(2) ;
free(q);
q=p->next;

p=p->next;


【说明3.2】
已知一棵完全二叉树存放于一个一维数组T[n]中,T[n]中存放的是各结点的值。下面的程序的功能是:从T[0]开始顺序读出各结点的值,建立该二叉树的二叉链表表示。
【函数3.2】
#include<istream.h>  
typedef struct node
int data;
stuct node leftChild, rightchild;
BintreeNode;
typedef BintreeNode * BinaryTree;
void ConstrncTree(int T[], int n, int i, BintreeNode * &ptr)
if(i>=n) (3) ; /*置根指针为空*/
else

ptr=-(BTNode * )malloc(sizeof(BTNode) )
ptr->data=T[i];
Cons
[填空题]1】 假设以带头结点的单循环链表作非递减有序线性表的存储结构。函数deleteklist(LinkList head)的功能是删除表中所有数值相同的多余元素,并释放结点空间。 例如:链表初始元素为: (7, 10,10,21,30,42,42,42,51,70) 经算法操作后变为: (7,10,21,30,42,51,70) 【函数3.1】 void deleteklist(LinkList head) { LinkNode * p, * q; p=head->next; while(p!=head) { q=p->next;  while( (1) ) { (2) ; free(q); q=p->next; } p=p->next; } } 【说明3.2】 已知一棵完全二叉树存放于一个一维数组T[n]中,T[n]中存放的是各结点的值。下面的程序的功能是:从T[0]开始顺序读出各结点的值,建立该二叉树的二叉链表表示。 【函数3.2】 #include<istream.h>   typedef struct node { int data; stuct node leftChild, rightchild; } BintreeNode; typedef BintreeNode * BinaryTree; void ConstrncTree(int T[], int n, int i, BintreeNode * &ptr) if(i>=n) (3) ; /*置根指针为空*/ else { ptr=-(BTNode * )malloc(sizeof(BTNode) ) ptr->data=T[i]; ConstrucTree(T,n,2, i+1, (4) ); ConstrucTree(T,n, (5) ,ptr->rightchild); } }
[填空题][函数说明3.1]
假设以带头结点的单循环链表作非递减有序线性表的存储结构。函数deleteklist(LinkList head)的功能是删除表中所有数值相同的多余元素,并释放结点空间。
[函数3.1]
Void deleteklist (LinkList head)

LinkNode *p,*q;
p=head->next;
while (p!=head)

q=p->next;
while( (1) )

(2) ;
free(q);
q=p->next;

p=p->next;


[函数说明3.2]
已知一棵完全二叉树存放于一个一维数组T[n]中,T[n]中存放的是各结点的值。下面的程序的功能是:从T[0]开始顺序读出各结点的值,建立该二叉树的二叉链表表示。
[函数3.2]
#include<istream.h>
typedef struct node
int data;
stuct node leftChild,rightchild;
BintreeNode;
typedef BintreeNode *BinaryTree;
void ConstrucTree(int T[] , int n, int i, BintreeNode *&ptr)

if(i>=n) (3) ; /*置根指针为空*/
else

ptr=(BTNode*) malloc(sizeof(BTNode))
ptr->data=T[i];
ConstrucTree (T,n, 2*i+1, (4) );
ConstrucTree (T,n, (5) ,ptr->rightchild);


main(void)
/*根据顺序存储结构建立二叉链表*/
Binarytree bitree;

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码