栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

顺序表的就地逆置(C语言实现)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

顺序表的就地逆置(C语言实现)

顺序表的就地逆置(C语言实现)
  1. 题目要求:试写一算法实现顺序表的就地逆置,即利用原表的存储空间将线性表 ( a 1 , a 2 , … , a n ) (a_1,a_2,dots,a_n) (a1​,a2​,…,an​)逆置为 ( a n , a n − 1 , … , a 1 ) (a_n,a_{n-1},dots,a_1) (an​,an−1​,…,a1​)。

  2. 逆置代码

    void ListReverse(SqList *L)
    {
        int i;
        int temp;
        for(i=0;ilength/2;i++)
        {
            temp=L->data[i];
            L->data[i]=L->data[L->length-i-1];
            L->data[L->length-i-1]=temp;                
        }
    }
    
  3. 完整程序

    #include 
    #define MAXSIZE 20
    typedef struct
    {
    	int data[MAXSIZE];  
    	int length;
    }SqList;
    void ListTraverse(SqList L)
    {
    	int i;
        for(i=0;ilength/2;i++)
        {
            temp=L->data[i];
            L->data[i]=L->data[L->length-i-1];
            L->data[L->length-i-1]=temp;                
        }
    }
    int main()
    {
    	SqList L;
    	int a[9]={1,2,3,4,5,6,7,8,9};
    	L.length=9;
    	for(int i=0;i<9;i++)
    	{
    		L.data[i]=a[i];
    	}
    	ListTraverse(L);
    	ListReverse(&L);
    	ListTraverse(L);
    }
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/443726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号