设计一个算法将一个顺序表逆置

Posted webcyh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计一个算法将一个顺序表逆置相关的知识,希望对你有一定的参考价值。

#include<iostream>
#include<malloc.h>
using namespace std;
typedef struct 
 int length;//保存长度
 int data[40];//数组
 SqList;
/*算法1:设计一个高效的算法,将顺序表中的所有元素逆置、要求算法空间股咋度为o(1)*/
//初始化顺序表
void initReverse(SqList &s,int *a,int l)

        s.length=0;
        //插入元素
        for(int i=0;i<l;i++)
                s.data[i]=a[i];
        
        s.length=l;

        //先输出所有元素
        for(int i=0;i<s.length;i++)
                cout<<s.data[i]<<" ";
        
        cout<<endl;
        //逆置
        int m=s.length/2;
        int start=0,end=s.length-1,temp;

        while(start<end)
                temp=s.data[start];
                s.data[start]=s.data[end];
                s.data[end]=temp;
                start++;
                end--;
        
        //输出并且销毁 系统自动销毁 无需操作
        for(int i=0;i<s.length;i++)
                cout<<s.data[i]<<" ";
        
        cout<<endl;


using namespace std;
int main()
        SqList s;
        int a[6]=1,2,3,4,5,6;
        initReverse(s,a,6);

        return 0;

 

以上是关于设计一个算法将一个顺序表逆置的主要内容,如果未能解决你的问题,请参考以下文章

线性表练习之Example004-将顺序表中所有元素逆置

线性表逆置

C++程序设计 编写程序实现单链表逆置功能。

单链表逆置

SDUT 3327 顺序表应用4:元素位置互换之逆置算法

第02次作业-线性表