首页 > 社交 > 科普中国

c语言处理顺序表的就地逆置

常驻编辑 科普中国 2022-07-29 顺序   本题   首尾   数据结构   线性   题目   语言   结构   操作   程序   数据

掌握数据结构是编写出地道、复杂程序的基础。很难想象一个不懂数据结构的人,或是不够精通数据结构的人会是一个出色的程序员。因此多用数据结构的知识编写一些程序对培养人们的编程水平以及用计算机处理复杂问题的能力都大有裨益。本章将通过一些具体的实例介绍数据结构在程序设计中的应用。17q拜客生活常识网

题目要求:17q拜客生活常识网

编写一个函数,实现顺序表的就地逆置,也就是说利用原表的存储空间将顺序表(a1,a2,…an)逆置为(an,an-1,…a1)。17q拜客生活常识网

题目分析:17q拜客生活常识网

本题主要考查顺序表线性结构的应用。顺序表的基本操作包括顺序表的创建,插入数据,删除数据等。但是在实际的应用中,对顺序表的操作并不仅限于上述这几种操作。因此学习顺序表也不能仅限于学懂前面所讲的几种操作而已,应当灵活掌握顺序表结构,并能够熟练地操纵顺序表。17q拜客生活常识网

#include "stdio.h"# define MAXSIZE 10  /*静态顺序表的最大空间*/typedef struct{    int * base;    int length;}sqlist ;  /*定义一个顺序表类型*/reverseSQ(sqlist *l){/*实现顺序表l的就地逆置*/    int low = 0 , high = l->length - 1;/*low和high分别指向顺序表的首尾*/    int buf , i;    for(i=0;ilength/2;i++)    {    /*循环length/2次,实现数据逆置*/        buf = l->base[low] ;        l->base[low] = l->base[high];        l->base[high] = buf;        low++;        high--;    }}main(){    sqlist l;    int a , i = 0;    /*创建一个顺序表*/    l.base = (int *)malloc(sizeof(int)*MAXSIZE);    l.length = 0;    /*输入数据*/    printf("Please input below 10 integer into the sqlist
") ;    printf("Type -1 for stopping input
");    scanf("%d",&a);    while(a != -1 && i<=9)    {        l.base[i] = a;        l.length++;i++;if(i <10){scanf("%d",&a);}    }    /*输出原顺序表中的数据*/    printf("The contents of the sqlist are
");    for(i=0;i

运行结果:17q拜客生活常识网

运行结果17q拜客生活常识网

相关阅读:

  • 男人怎么化妆(男生化妆顺序和步骤)
  • 一个甲子是多少年(十二甲子顺序)
  • 记叙顺序有哪些(什么叫记叙文)
  • 染发后多久烫发(染发烫发的顺序是什么)
  • 运动多久开始消耗脂肪(运动时能量消耗顺序)
  • 多久见家长(情侣见家长的顺序)
  • 哪个朝代最早(最早的朝代的皇帝顺序)
  • 宋江是哪个(吴用的主要事迹按顺序)
  • 生日如何过(过生日的顺序是怎样的)
  • 如何查字典(查字典顺序口诀)
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。