第四周 单链表的应用(1)

来源:互联网 发布:剑网3苍云捏脸数据 编辑:程序博客网 时间:2024/06/03 21:51
烟台大学计算机与控制工程学院 
        
作    者:     郝环宇
完成日期:     9.23
      
问题描述:1、设计一个算法,将一个带头结点的数据域依次为a1,a2,…,an(n≥3)的单链表的所有结点逆置,
 即第一个结点的数据域变为an,…,最后一个结点的数据域为a1。实现这个算法,并完成测试。
输入描述:若干数据 。    

程序输出:链表中的数据及逆序拍好后的数据。

数据库链接

#include"linklist.h"#include "stdio.h"void Reverse(LinkList *l);int main(){    LinkList *L;    ElemType a[]= {1,3,5,7, 2,4,8,10};    CreateListR(L,a,8);    printf("L:");    DispList(L);    Reverse(L);    printf("逆置后L: ");    DispList(L);    DestroyList(L);    return 0;}void Reverse(LinkList *l){LinkList *p,*q;p=l->next;l->next=NULL;while(p!=NULL){q=p->next;p->next=l->next;l->next=p;p=q;}}
运行结果:

+

心得体会:

运用了头插法,但是不是数组赋值了,链表的赋值方面有点绕,需多加练习,加以熟悉。

0 0
原创粉丝点击