2006年12月中兴在我们学校的笔试
- 面试笔试
- 关注:3.06W次
2006年12月中兴在我们学校的笔试--数据结构
2006年12月中兴在我们学校的笔试,最后的大题
(其实这些大公司的笔试不难,也不就是如此,只要学一下数据结构就可以搞定!)
??
排序及查找方法?#include#include#define N 11/*用监视哨查找*/int search(int array[],int n,int k){int i;?i=n-1;array[0]=k;while(array[i]!=k) i--;return(i);}/*折半查找法*/int halfsearch(int array[],int n,int k){int i,j,mid;?i=1;j=n;while(i<=j){mid=(i+j)/2;?if(k==array[mid]) return(mid);else if(k/*冒泡排序法*/void mpsort(int array[]){int i,j,a;a=0;?for(i=1;iarray[j])???? {a=array[i];???? array[i]=array[j];???? array[j]=a;}}/*直接插入排序*/void insertsort(int array[]){int i,j;?for(i=2;i main(){int a[11],i,x,chang;?/*printf("enter the array");?for(i=1;i<11;i++)?scanf("%d",&a[i]);*/
aga:?printf("chang:1: use watching method finding????? 2:use half method finding????? 3: use directness intsert method sort????? 4:use bubble up method sort????? 5:exit");?scanf("%d",&chang);?switch (chang)?{case 1:?????? {creat(a);?printf("Please int the search number:");?scanf("%d",&x);?printf("The number station is:%d",search(a,N,x));?goto aga;?}? case 2:???? { creat(a);?????? insertsort(a);?????? print(a);?????? printf("Please int the search number:");?????? scanf("%d",&x);?????? printf("The number station is:%d",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!");break;}?? default:{printf("Error!"); goto aga;}}}?
?
二、线性链表的存储实现
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
2006年12月中兴在我们学校的笔试,最后的大题
(其实这些大公司的笔试不难,也不就是如此,只要学一下数据结构就可以搞定!)
??
排序及查找方法?#include
aga:?printf("chang:1: use watching method finding????? 2:use half method finding????? 3: use directness intsert method sort????? 4:use bubble up method sort????? 5:exit");?scanf("%d",&chang);?switch (chang)?{case 1:?????? {creat(a);?printf("Please int the search number:");?scanf("%d",&x);?printf("The number station is:%d",search(a,N,x));?goto aga;?}? case 2:???? { creat(a);?????? insertsort(a);?????? print(a);?????? printf("Please int the search number:");?????? scanf("%d",&x);?????? printf("The number station is:%d",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!");break;}?? default:{printf("Error!"); goto aga;}}}?
?
二、线性链表的存储实现
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&&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&&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
- 文章版权属于文章作者所有,转载请注明 https://jianligu.com/ms/bishi/emgrd.html