08年以前华中科大的一道机试题
2011-09-10 19:01
411 查看
/*08年以前的题目(1) 输入一个数列以0位结束标志,建立链式线性表,查找其中最大的数 并输出删除释放节点,然后对剩余的进行排序,并输出释放节点。*/ /*算法思想:1.头插法建立单链表 2.顺序查找一次,找出最大值,并删除该节点 3.将剩余的进行冒泡排序(升序) 4.将排好序后的链表逐个输出 */ /*程序:*************************爱X的味道*****************************/ #include<stdio.h> #include<stdlib.h> typedef struct node { int data; struct node *next; }node,*Linklist; /*初始化空链表*/ void InitLinklist(Linklist *L) { *L=(Linklist)malloc(sizeof(node)); (*L)->next=NULL; } /*头插法建立单链表*/ void CreateFromHead(Linklist L) { int tmp; node *s; printf("please input the data! \n"); scanf("%d",&tmp); while(0!=tmp) { s=(node *)malloc(sizeof(node)); s->data=tmp; s->next=L->next; L->next=s; scanf("%d",&tmp); } printf("Input finished !\n\n"); } /*查找最大元素并输出,并删除该节点*/ void Search(Linklist L) { int tmp=0; Linklist cur=L->next,position=L,q=L; tmp=cur->data; position=cur; while(cur!=NULL) { if(tmp<cur->data) { tmp=cur->data; position=cur; } cur=cur->next; } printf("MAX is %d\n\n",tmp); while(q->next!=position) q=q->next; q->next=position->next; free(position); } /*剩余节点按升序排序,冒泡算法*/ void Sort(Linklist L) { Linklist cur,p; if((!L->next)||(!L->next->next)) return ; cur=L->next;p=L->next->next; while(cur->next!=NULL) { while(p!=NULL) { if((cur->data)>(p->data)) { cur->data=(cur->data)^(p->data); p->data=(cur->data)^(p->data); cur->data=(cur->data)^(p->data); } p=p->next; } cur=cur->next; p=cur->next; } } /*排序后的链表逐个输出*/ void Output(Linklist L) { Linklist cur; cur=L->next; printf("最后顺序为(升序): \n\n"); while(cur!=NULL) { printf("%d ",cur->data); cur=cur->next; } printf("\n\n"); } int main() { Linklist L; L=NULL; InitLinklist(&L); CreateFromHead(L); Search(L); Sort(L); Output(L); return 0; }
相关文章推荐
- 08年以前华中科大第二道机试题(输入一个数列以0位结束标志,建立二叉遍历树,并对其进行逆中序遍历,释放空间)
- 08年以前华中科大机试第五题
- 08年以前华中科大机试第8道题目(约瑟夫环问题(传说中的猴子选大王))
- 08年以前华中科大机试第四道题目
- 08年以前华中科大机试第三道题目
- 对《数组去重――一道前端校招试题》的解读
- 试题:网易笔试的一道题目
- 【C&C++】上海交大以前的一道复试题
- 自己做的一道机试题
- 一道试题引发的血案
- 一道著名的号称微软的试题的oracle解
- 一道比较恶心的C语言的试题
- 一道SQL SERVER DateTime的试题
- 小试身手__一道华为机试题
- 自己做的一道机试题
- 一道表达式的经典试题
- 一道C机试题目
- MT【40】一道联赛二试题
- 好一道简单的html试题
- 【算法】一道腾讯前端试题,位图法(bitmap),感受一下什么叫做“算法”