第一范文网 - 专业文章范例文档资料分享平台

数据结构习题集与实验指导

来源:用户分享 时间:2025/11/19 2:35:12 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

v1.0 可编辑可修改 #include \struct list { int data; struct list *next; };

typedef struct list node; typedef node *link;

link delete_node(link pointer,link tmp) {if (tmp==NULL) /*delete first node*/ return pointer->next; else

{ if(tmp->next->next==NULL)/*delete last node*/ tmp->next=NULL;

else /*delete the other node*/ tmp->next=tmp->next->next; return pointer; } }

void selection_sort(link pointer,int num) { link tmp,btmp; int i,min; for(i=0;i

tmp=pointer; min=tmp->data; btmp=NULL; while(tmp->next)

{ if(min>tmp->next->data)

4646

v1.0 可编辑可修改 {min=tmp->next->data; btmp=tmp; }

tmp=tmp->next; }

printf(\

pointer=delete_node(pointer,btmp); } }

link create_list(int array[],int num) { link tmp1,tmp2,pointer; int i;

pointer=(link)malloc(sizeof(node)); pointer->data=array[0]; tmp1=pointer; for(i=1;i

{ tmp2=(link)malloc(sizeof(node)); tmp2->next=NULL; tmp2->data=array[i]; tmp1->next=tmp2; tmp1=tmp1->next; }

return pointer; }

link concatenate(link pointer1,link pointer2) { link tmp; tmp=pointer1; while(tmp->next)

4747

v1.0 可编辑可修改 tmp=tmp->next; tmp->next=pointer2; return pointer1; }

void main(void)

{ int arr1[]={3,12,8,9,11}; link ptr;

ptr=create_list(arr1,5); selection_sort(ptr,5); }

实验二 栈和队列的应用

[实验目的]:掌握栈和队列的结构定义和特性;

掌握栈和队列的基本操作以及栈和队列在程序设计中的应用。 [实验题目]:

1、栈实现数制转换

#include #include #include

typedef int SElemType; #include \

Status visit(SElemType * e) {

printf(\ }

void conversion()

4848

v1.0 可编辑可修改 {

pSqStack S; SElemType e; int n; InitStack(&S);

printf(\ scanf(\ if(n<0) {

printf(\ return; }

if(!n) Push(S,0); while(n){ Push(S,n%8); n=n/8; }

printf(\ while(!StackEmpty(*S)){ Pop(S,&e); printf(\ } } main() {

printf(\ conversion(); getch();

4949

v1.0 可编辑可修改 printf(\ }

2、栈实现单行编辑 #include #include #include #include

#define EOFILE '`' typedef char SElemType; #include \

Status visit(SElemType * e) {

printf(\ }

char OP[10]={'+','-','*','/','(',')','#'}; int precede[7][7]={ 1,1,2,2,2,1,1, 1,1,2,2,2,1,1, 1,1,1,1,2,1,1, 1,1,1,1,2,1,1, 2,2,2,2,2,3,0, 1,1,1,1,0,1,1, 2,2,2,2,2,0,3}; int In(char c,char *op) {

int i=0; while(I<7) if(c==op[i++])

5050

搜索更多关于: 数据结构习题集与实验指导 的文档
数据结构习题集与实验指导.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5nyv1117md23x6i11fyp2nsft0iv0l00r4h_10.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top