當(dāng)前位置:高考升學(xué)網(wǎng) > 招聘筆試題 > 正文
main()
{int a[11],i,x,chang;
aga:
printf("nchang:1: use watching method findingn 2:use half method findingn 3: use
directness intsert method sortn 4:use bubble up method sortn 5:exitn");
scanf("%d",&chang);
switch (chang)
{case 1:
{creat(a);
printf("Please int the search number:n");
scanf("%d",&x);
printf("The number station is:%dn",search(a,N,x));
goto aga;
}
case 2:
{ creat(a);
insertsort(a);
print(a);
printf("Please int the search number:n");
scanf("%d",&x);
printf("The number station is:%dn",halfsearch(a,N,x));
goto aga;
}
case 3:
{creat(a);
insertsort(a);
print(a);
goto aga;
}
case 4:
{creat(a);
mpsort(a);
print(a);
goto aga;
}
case 5:{ printf("exit!n");break;}
default:{printf("Error!n"); goto aga;}
}
}
二、線性鏈表的存儲(chǔ)實(shí)現(xiàn)
struct LNODE{
ElemType data;
struct LNODE next;
};
typedef struct LNODE LNode;
typedef struct LNODE LinkList;
1 初始化操作
Status Init_L(LinkList L){
if (L=(LinkList )malloc(sizeof(LNode)))
{L->next=NULL;return 1;}
else return 0;
}
2 插入操作
Status ListInsert_L(LinkList &L,int i,ElemType e){
p=L,j=0;
while(p&&jnext;++j;}
if(!p||j>i-1) return ERROR;
s=(LinkList)malloc(sizeof(LNode));
s->data=e;s->next=p->next;
p->next=s;
return OK;
}//ListInsert_L
3 刪除操作
Status ListDelete_L(LinkList &L,int i,ElemType &e){
p=L,j=0;
while(p&&jnext;++j;}
if(!p->next||j>i-1) return ERROR;
q=p->next;p->next=q->next;
e=q->data;free(q);
return OK;
}//ListDelete_L
4 取某序號(hào)元素的操作
Status GetElem_L(LinkList &L,int i,ElemType &e){
p=L->next,j=1;
while(p&&jnext;++j;}
if(!p||j>i) return ERROR;
e=p->data;
return OK;
}//GetElem_L
5 歸并兩個(gè)單鏈表的算法
void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc){
//已知單鏈線性表La 和Lb 的元素按值非遞減排列
//歸并后得到新的單鏈線性表Lc,元素也按值非遞減排列
pa=La->next;pb=Lb->next;
Lc=pc=La;
while(pa&&pb){
if(pa->data<=pb->data){
pc->next=pa;pc=pa;pa=pa->next;
}else{pc->next=pb;pc=pb;pb=pb->next;}
}
pc->next=pa?pa:pb;
free(Lb);
}//MergeList_L
頭指針與頭結(jié)點(diǎn)的區(qū)別:
頭指針只相當(dāng)于結(jié)點(diǎn)的指針域,頭結(jié)點(diǎn)即整個(gè)線性鏈表的第一個(gè)結(jié)點(diǎn),它的數(shù)據(jù)域可以放數(shù)據(jù)元素,
也可以放線性表的長(zhǎng)度等附加信息,也可以不存儲(chǔ)任何信息。
2020年河北新聞網(wǎng)兩學(xué)一做
時(shí)間:2023-09-18 07:0:242020年河北新聞網(wǎng)兩學(xué)一做
時(shí)間:2023-09-15 11:0:59兩學(xué)一做學(xué)習(xí)教育知
時(shí)間:2023-09-21 06:0:302020年開(kāi)展兩學(xué)一做學(xué)習(xí)教
時(shí)間:2023-09-19 21:0:30