码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-08-15 19:24:47      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:系统   长度   要求   namespace   turn   一个   while   --   nbsp   

#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;
}

 

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

标签:系统   长度   要求   namespace   turn   一个   while   --   nbsp   

原文地址:https://www.cnblogs.com/webcyh/p/11359562.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!