admin 管理员组文章数量: 887042
2024年1月28日发(作者:fedora workstation)
五.算法设计程序流程图算法概要流程图如下:题目:线性表的逆置
ch=getchar())!='*'开始Char chR=head《数据结构与算法》课程设计报告s=(linklist*)malloc(sizeof(linklist));s->data=ch;r->next=s;r=s;否r->next=NULL
p->next=NULL;s-q->next=p;p=q;q=s;s=s->next;S!=NULL>next!=NU是q=p->next;s=q->next;开始{linklist*p,*q,*s; p=head->next;是否否q->next=p;s->next=q;head->next=ss=p;head->next=q;
单链表:#include
关系:S={
操作前提:线性表L已存在 。操作结果:将表L置为空表。3 EmptyList(L)操作前提:线性表L已存在。操作结果:如果L为空表则返回真,否则返回假。4 ListLength(L)操作前提:线性表L已存在。操作结果:如果L为空表则返回0,否则返回表中的元素个数。5 GetItem(L,i,&e)操作前提: 表L已存在,1<=i<=listlength(L)。操作结果: 用e返回L中第i个元素的值。6 LocateElem(L,e)操作前提: 表L已存在,e为合法元素值。操作结果: 如果L中存在元素e,则将“当前指针”指向元素e所在位置并返回真,否则返回假。
#include
}(5)if(s!=NULL){}r->next=NULL;(3)while((ch=getchar())!='*'){(2)s=(linklist*)malloc(sizeof(linklist));s->data=ch;r->next=s;r=s;typedef struct node{datatype data;struct node *next;}linklist;void create(linklist*&); void invert(linklist*);void print(linklist *);void main(){linklist*head;create(head);(6)while(s->next!=NULL)(2)head=(linklist*)malloc(sizeof(linklist));r=head;//单链表逆置(4)void invert(linklist*head){linklist*p,*q,*s;p=head->next;q=p->next;s=q->next;p->next=NULL;//采用尾插法建立具有头结点的单链表(1)void create(linklist*&head){char ch;linklist *s,*r;invert(head);//调用单链表逆置的函数print(head);}
}}(9)printf("n");(9)printf("%c",p->data);p=p->next;(8)while(p!=NULL){{q->next=p;p=q;q=s;s=s->next;}q->next=p;s->next=q;head->next=s;} else {s=p;head->next=q;}}//输出单链表(7)void print(linklist *head){linklist*p=head->next;顺序列表:#include
//输出顺序表(13)void print(sequenlist*L){(14)for(int i=L->last;i>=0;i--)(15)printf("%c",L->data[i]);(14)printf("n");}//建立顺序表(10)void create(sequenlist*&L){(11)L=(sequenlist*)malloc(maxsize*sizeof(sequenlist*));L->last=0;char ch;(12)while((ch=getchar())!='*'){
L->last++;L->data[L->last]=ch;}}
版权声明:本文标题:数据结构线性表逆置 库-推荐下载 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1706380579h505879.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论