欢迎来到天天文库
浏览记录
ID:14272367
大小:51.50 KB
页数:19页
时间:2018-07-27
《数据结构算法基本程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构算法基本程序一、线性表及其操作1、尾插法建立一个单链表,并按顺序输出2、单链表的元素查找,按内容查找3、元素插入操作4、按内容元素删除操作5、按位置删除元素6、建立双向链表7、单链表就地逆置8、约瑟夫环问题二、栈及其操作1、建立堆栈2、进栈与出栈3、栈的应用,括号匹配三、队及其操作1、链队列的建立2、入队和出队3、循环队列建立4、循环队列的入队和出队操作四、串及其操作1、串的朴素匹配五、树(二叉树)及其操作1、二叉排序树2、哈夫曼编码六、排序1、冒泡排序2、直接选择排序法一、线性表及其操作//Allcopyrightarep
2、reservedbycobby/*尾插法建立一个单链表,并按顺序输出*/#defineNULL0/*宏定义*/typedefstructnode/*定义结点类型的数据结构*/{charc;/*数据域,类型为字符型*/structnode*next;/*指针域,类型为本结构体类型*/}*L;/*类型重定义,即Node和*L和structnode等价*/main(){Ll,p,q;/*用指针类型定义三个结点类型的指针*/charch;l=(L)malloc(sizeof(L));/*分配内存空间*/l->c=' ';/*为头结点的数据
3、域赋值,值为空*/l->next=NULL;/*指明下一个结点目前不存在*/q=l;/*q为游动指针,链表结点的连结要用*/printf("Inputacharacter:");scanf("%c",&ch);getchar();//此语句用来吸收键盘输入的回车符,没有其它含义while(ch!='!')/*输入!表示输入结束*/{p=(L)malloc(sizeof(L));/*为新输入的数据分配内存空间*/p->c=ch;p->next=NULL;/*新输入的结点在链表的最后,即它的后面没有其它元素*/q->next=p;/
4、*q用于将上一个元素链接至当前新元素*/q=p;/*q自己移到当前最后一个元素,以备继续链接所用*/scanf("%c",&ch);getchar();}q=l;/*输入整个链表前,先将q移到链表头,l一般不动*/while(q->next!=NULL)/*若q所指向的元素后面还有其它元素,则将该元素的数据输出*/{printf("%c-->",q->next->c);/*q->next->c表示q所指向的下一个元素的数据*/q=q->next;/*完成该元素的输出后,q移至下一个元素重复输出操作*/}}//Allcopyright
5、arepreservedbycobby/*单链表的元素查找,按内容查找*/#defineNULL0/*宏定义*/typedefstructnode/*定义结点类型的数据结构*/{charc;/*数据域,类型为字符型*/structnode*next;/*指针域,类型为本结构体类型*/}*L;/*类型重定义,即Node和*L和structnode等价*/main(){Ll,p,q;/*用指针类型定义三个结点类型的指针*/charch;intn;l=(L)malloc(sizeof(L));/*分配内存空间*/l->c=' ';/*为
6、头结点的数据域赋值,值为空*/l->next=NULL;/*指明下一个结点目前不存在*/q=l;/*q为游动指针,链表结点的连结要用*/printf("Inputacharacter:");scanf("%c",&ch);getchar();while(ch!='!')/*输入!表示输入结束*/{p=(L)malloc(sizeof(L));/*为新输入的数据分配内存空间*/p->c=ch;p->next=NULL;/*新输入的结点在链表的最后,即它的后面没有其它元素*/q->next=p;/*q用于将上一个元素链接至当前新元素
7、*/q=p;/*q自己移到当前最后一个元素,以备继续链接所用*/scanf("%c",&ch);getchar();}q=l;/*输入整个链表前,先将q移到链表头,l一般不动*/while(q->next!=NULL)/*若q所指向的元素后面还有其它元素,则将该元素的数据输出*/{printf("%c-->",q->next->c);/*q->next->c表示q所指向的下一个元素的数据*/q=q->next;/*完成该元素的输出后,q移至下一个元素重复输出操作*/}/*--------以上为建立一个单链表-------------
8、*/printf("Inputacharacteryouwannafind");scanf("%c",&ch);printf("thecharacteryouwannafindis%c",ch);q=l->next;/
此文档下载收益归作者所有