当前位置:首页 > C开发笔试题 - 20130812
struct SLL { struct SLL *pstNext;/* 下一结点*/ };
struct DLL {
struct DLL*pstNext;/* 下一结点*/ struct DLL*pstPrev;/* 前一结点*/ }; A.
pstB=pstB->patNext; pstD->pstNext=pstB; pstA->pstNext=pstD; free(pstB); B.
pstA->pstNext=pstD;
pstD->pstNext=pstA->pstNext-pstNext; free(pstB); C.
pstA->pstNext-pstNext-pstpre=pstD; pstD->pstNext=pstA->pstNext->pstNext; pstD->pstpre=pstB->pstpre;
pstA->pstNext=pstB->pstNext-pstpre; free(pstB); D.
pstD->pstNext=pstB->pstNext; pstD->pstNext->pstpre=pstD; pstD->pstpre=pstA; pstA->pstNext=pstD; free(pstB);
1、数据的节点定义如下面的tagData所列,该数据节点有两个索引值,分别是index1和index2,请编写程序,有如下要求:
1)据上下文,由于需要分别以index1和index2索引查找,请建立两个单向链表,分别以index1和index2,索引值唯一,且均为从小到大
2)提供增加节点的函数和删除节点的操作,请注意增加和删除节点的操作均会影响这两个链表。
3)删除操作数据是依据index2删除的 /*节点数据*/
typedef struct tagData {
int index1; int index2; int iData;
struct tagData *pstNext1; struct tagData *pstNext2; }NODE_S;
/*Description:链表初始化*/ void init();
/*Description:加入节点*/
void add(int index1,int index2,int iData); /*Description:删除节点*/ Void delete(int index2);
2、请写冒泡排序算法,a指向数组第一个元素,n为数组长度
3、五个学生,三门成绩,输入学号,姓名,三门课的成绩。算出三门课的平均值,连同原始数据一起保存到“stduo”的文件中。
4、同一花色的扑克牌13张。将第一张放入最后,抽取最上面的一张,在将最上面的一张放入最后,以此类推。最后结果是
A 1 2 3 4 5 6 7 8 9 10 j Q k 求原始的牌的顺序。
共分享92篇相关文档