文档详情

数据结构 doc.doc

发布:2018-05-13约1.1千字共3页下载文档
文本预览下载声明
数据结构 系别:计科系 班级:计算机应用技术11_1班 姓名:杨丽 一:问题描述 编写算法实现顺序表的逆置,即利用原表的存储空间将线性表 (a1,a2,……,an)逆置为(an,……,a2,a1) 二:程序设计的基本思想, 线性表的本地逆序可以用第一个元素和最末元素对调,第二个元素与倒数第二个元素对调.... 关键是要已知顺序表的长度(即元素总个数)和控制对调操作的结束条件(考虑奇数个元素和偶 数个元素的时候停止对调操作的条件).在写程序的时候线性表可以用一维数组代替.#include stdio.h #include stdlib.h typedef struct List { int data; struct List *next; }List; void HeadCreatList (List *L) { List *s; L-next=NULL; for (int i=0;i10;i++) { s=(struct List*)malloc(sizeof(struct List)); s-data=i; s-next=L-next; L-next=s; } } void TailCreatList(List *L) { List *s,*r; r=L; for (int i=0;i10;i++) { s=(struct List*)malloc(sizeof(struct List)); s-data=i; r-next=s; r=s; } r-next=NULL; } void DisPlay(List *L) { List *p=L-next; while(p!=NULL) { printf (%d ,p-data); p=p-next; } printf(\n); } int main () { List *L1,*L2; L1=(struct List*)malloc(sizeof(struct List)) L2=(struct List*)malloc(sizeof(struct List)); HeadCreatList(L1); DisPlay(L1); TailCreatList(L2); DisPlay(L2); } 四:输出结果 五:分析 本次作业要求较低并无太大的困难,问题基本能过解决。
显示全部
相似文档