数据结构教程(第三版 李春葆 伊为民 李蓉蓉 等编 清华大学出版社

2018-11-08 14:59

}/*文件名:exp1-1.cpp*/ #include #include int prime(int x) /*判断正整数x是否为素数*/ { int i; for (i=2;i<(int)sqrt(x);i++) if (x%i==0) return 0; /*若x不是素数,则退出并返回0*/ return 1; }

void main() { int n,i,j=0; /*j用于累计素数个数*/ printf(\ scanf(\ printf(\小于等于%d的素数:\\n\ if (n>2) { printf(\ j++; } for (i=3;i<=n;i+=2) if (prime(i)==1) { printf(\ if (j!=0 && ++j==0) /*每行最多显示10个素数*/ printf(\ } printf(\

}/*文件名:exp1-2.cpp*/ #include int func(int num) { int s=0; do { s+=num; num/=10; } while(num); return(s); }

void main() { int n; printf(\

printf(\输入一个整数:\

scanf(\

printf(\各位数字之和:%d\\n\ printf(\

}/*文件名:exp1-3.cpp*/ #include #include #define MAX 100 /*字符串的最大长度*/ int func(char s[]) { int flag=1; int i,j,slen=strlen(s); /*slen为字符串s的长度*/ for (i=0,j=slen-1;i

void main() { char s[MAX]; printf(\输入一字符串:\ scanf(\ if (func(s)==1) printf(\字符串是回文\\n\ else printf(\字符串不是回文\\n\}/*文件名:exp2-1.cpp*/ #include #include #define MaxSize 50 typedef char ElemType; typedef struct { ElemType elem[MaxSize]; int length; } SqList;

extern void InitList(SqList *&L); extern void DestroyList(SqList *L); extern int ListEmpty(SqList *L); extern int ListLength(SqList *L); extern void DispList(SqList *L);

extern int GetElem(SqList *L,int i,ElemType &e);

extern int LocateElem(SqList *L, ElemType e); extern int ListInsert(SqList *&L,int i,ElemType e); extern int ListDelete(SqList *&L,int i,ElemType &e); void main() { SqList *L; ElemType e; printf(\初始化顺序表L\\n\ InitList(L); printf(\依次采用尾插法插入a,b,c,d,e元素\\n\ ListInsert(L,1,'a'); ListInsert(L,2,'b'); ListInsert(L,3,'c'); ListInsert(L,4,'d'); ListInsert(L,5,'e'); printf(\输出顺序表L:\ DispList(L); printf(\顺序表L长度=%d\\n\ printf(\顺序表L为%s\\n\空\非空\ GetElem(L,3,e); printf(\顺序表L的第3个元素=%c\\n\ printf(\元素a的位置=%d\\n\ printf(\在第4个元素位置上插入f元素\\n\ ListInsert(L,4,'f'); printf(\输出顺序表L:\ DispList(L); printf(\删除L的第3个元素\\n\ ListDelete(L,3,e); printf(\输出顺序表L:\ DispList(L); printf(\释放顺序表L\\n\ DestroyList(L); }/*文件名:exp2-2.cpp*/ #include #include typedef char ElemType;

typedef struct LNode /*定义单链表结点类型*/ { ElemType data; struct LNode *next; } LinkList;

extern void InitList(LinkList *&L); extern void DestroyList(LinkList *&L); extern int ListEmpty(LinkList *L);

extern int ListLength(LinkList *L); extern void DispList(LinkList *L);

extern int GetElem(LinkList *L,int i,ElemType &e); extern int LocateElem(LinkList *L,ElemType e); extern int ListInsert(LinkList *&L,int i,ElemType e); extern int ListDelete(LinkList *&L,int i,ElemType &e); void main() { LinkList *h; ElemType e; printf(\初始化单链表h\\n\ InitList(h); printf(\依次采用尾插法插入a,b,c,d,e元素\\n\ ListInsert(h,1,'a'); ListInsert(h,2,'b'); ListInsert(h,3,'c'); ListInsert(h,4,'d'); ListInsert(h,5,'e'); printf(\输出单链表h:\ DispList(h); printf(\单链表h长度=%d\\n\ printf(\单链表h为%s\\n\空\非空\ GetElem(h,3,e); printf(\单链表h的第3个元素=%c\\n\ printf(\元素a的位置=%d\\n\ printf(\在第4个元素位置上插入f元素\\n\ ListInsert(h,4,'f'); printf(\输出单链表h:\ DispList(h); printf(\删除h的第3个元素\\n\ ListDelete(h,3,e); printf(\输出单链表h:\ DispList(h); printf(\释放单链表h\\n\ DestroyList(h); }/*文件名:exp2-3.cpp*/ #include #include typedef char ElemType;

typedef struct DNode /*定义双链表结点类型*/ { ElemType data; struct DNode *prior; /*指向前驱结点*/ struct DNode *next; /*指向后继结点*/

} DLinkList;

extern void InitList(DLinkList *&L); /*以下均为外部函数*/ extern void DestroyList(DLinkList *&L); extern int ListEmpty(DLinkList *L); extern int ListLength(DLinkList *L); extern void DispList(DLinkList *L);

extern int GetElem(DLinkList *L,int i,ElemType &e); extern int LocateElem(DLinkList *L,ElemType e); extern int ListInsert(DLinkList *&L,int i,ElemType e); extern int ListDelete(DLinkList *&L,int i,ElemType &e); void main() { DLinkList *h; ElemType e; printf(\初始化双链表h\\n\ InitList(h); printf(\依次采用尾插法插入a,b,c,d,e元素\\n\ ListInsert(h,1,'a'); ListInsert(h,2,'b'); ListInsert(h,3,'c'); ListInsert(h,4,'d'); ListInsert(h,5,'e'); printf(\输出双链表h:\ DispList(h); printf(\双链表h长度=%d\\n\ printf(\双链表h为%s\\n\空\非空\ GetElem(h,3,e); printf(\双链表h的第3个元素=%c\\n\ printf(\元素a的位置=%d\\n\ printf(\在第4个元素位置上插入f元素\\n\ ListInsert(h,4,'f'); printf(\输出双链表h:\ DispList(h); printf(\删除h的第3个元素\\n\ ListDelete(h,3,e); printf(\输出双链表h:\ DispList(h); printf(\释放双链表h\\n\ DestroyList(h); }/*文件名:exp2-4.cpp*/ #include #include typedef char ElemType;

typedef struct LNode /*定义循环单链表结点类型*/


数据结构教程(第三版 李春葆 伊为民 李蓉蓉 等编 清华大学出版社.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:尔雅通识课大学语文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: