发布时间 : 星期四 文章鏁版嵁缁撴瀯涔犻鍙婄瓟妗堚斺斾弗钄氭晱 - 鐧惧害鏂囧簱更新完毕开始阅读138388f3ec630b1c59eef8c75fbfc77da3699716
typedef struct node {
elemtype data; struct node *link; }NODE;
void analyze(NODE *a) {
NODE *rh,*qh,*r,*q,*p;
int i=0,j=0;/*i为序号是奇数的结点个数 j为序号是偶数的结点个数 */ p=a;
rh=(NODE *)malloc(sizeof(NODE));/*rh为序号是奇数的链表头指针 */
qh=(NODE *)malloc(sizeof(NODE)); /*qh为序号是偶数的链表头指针 */ r=rh; q=qh;
while(p!=NULL) {
r->link=p; r=p; i++; p=p->link;
word文档 可自由复制编辑
if(p!=NULL) {
q->link=p; q=p; j++; p=p->link; } }
rh->data=i; r->link=rh; qh->data=j; q->link=qh; } 11.
typedef struct node {
elemtype data; struct node *link; }NODE;
void change(NODE *head) {
NODE *p; p=head;
word文档 可自由复制编辑
if(head!=NULL) {
while(p->link!=NULL) p=p->link; p->link=head; } } 12.
typedef struct node {
elemtype data; struct node *link; }NODE;
void del(NODE *x,NODE *y) {
NODE *p,*q; elemtype d1; p=y; q=x;
while(q->next!=NULL) /* 把后一个结点数据域前移到前一个结点*/ {
p->data=q->data;
word文档 可自由复制编辑
q=q->link; p=q;
p->link=NULL; /* 删除最后一个结点*/ free(q); }
第三章 栈和队列 一、选择题
1. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是( )。
(A) edcba(B)decba(C)dceab (D)abcde 2.栈结构通常采用的两种存储结构是( )。
(A) 线性存储结构和链表存储结构(B)散列方式和索引方式 (C)链表存储结构和数组 (D)线性存储结构和非线性存储结构 3.判定一个栈ST(最多元素为m0)为空的条件是( )。 (A) ST-〉top!=0 (B)ST-〉top==0 (C)ST-〉top!=m0 (D)ST-〉top=m0
4.判定一个栈ST(最多元素为m0)为栈满的条件是( )。 (A)ST->top!=0 (B)ST->top==0 (C)ST->top!=m0-1(D)ST->top==m0-1
5.一个队列的入列序列是1,2,3,4,则队列的输出序列是( )。 (A)4,3,2,1(B)1,2,3,4(C)1,4,3,2(D)3,2,4,1
word文档 可自由复制编辑