| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5063 人关注过本帖
标题:试设计一个算法,用尽可能少的辅助空间将顺序表中前m个元素和后n个元素进行 ...
只看楼主 加入收藏
n309619949
Rank: 1
来 自:湖北天门
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-2-4
结帖率:33.33%
收藏
 问题点数:0 回复次数:2 
试设计一个算法,用尽可能少的辅助空间将顺序表中前m个元素和后n个元素进行整体互换。 这个程序引用部分有问题,希望大家给指教下
#include<stdio.h>
const LIST_INIT_SIZE=80; // 线性表存储空间的初始分配量
const LISTINCREMENT=10; // 线性表存储空间的分配增量
typedef char ElemType;

typedef struct  
{
    ElemType *elem; // 存储空间基址
    int length;       // 当前长度
    int listsize;      // 当前分配的存储容量
    int incrementsize; // 约定的增补空间量
}SqList;
// 构造一个空的线性表
void InitList_Sq(SqList &L) {  
    L.elem= new ElemType[LIST_INIT_SIZE];
    if(!L.elem) printf("分配失败\n");
    L.length=0;
    L.listsize=LISTINCREMENT;}
    void InputElem_Sq(SqList &L)
    {
        int i;
        char ch;
        printf("a string:\n");
        for(i=0;(i<100)&&((ch=getchar())!=EOF)&&(ch!='\n');i++)
        {
            L.elem[i]=(char)ch;
        }
        L.elem[i++]='\0';
        L.length=i-1;
        printf("input was :%s,L.length=%d\n",L.elem,L.length);
    }
    void exchange1(SqList &A,int m,int n)
    {  int w,k,j;
    for(k=1;k<=n;k++)
    {
        w=A.elem[m+k-1];
    for(j=m+k-1;j>=k;j--)
        A.elem[j]=A.elem[j-1];
    A.elem[k-1]=w;
    }
    }


        void main()
        {
        int i,m,n;
        SqList La;
        InitList_Sq(La);
        printf("Input the numbers of La");
        exchange1(&La,m,n);
        for(i=0;i<m+n;i++)
            printf("%c",La.elem[i]);
        }
搜索更多相关主题的帖子: include 线性表 空间 元素 
2014-03-03 22:48
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
刚刚在C++板块回答了,在C板块又要回答一下,呵呵
(顺便问一下,你这是什么代码,C的,还是C++的?)

对于顺序表,C++中的std::rotate采用如下算法:
a. 求 移动距离 和 总长度 的 最大公约数
b. 循环 最大公约数 次,每次以 最大公约数 为步长环形移动一下

对于链表,C++中的std::rotate采用如下算法:
a. 左边倒序,右边倒序
b. 整体倒序
2014-03-04 09:05
n309619949
Rank: 1
来 自:湖北天门
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-2-4
收藏
得分:0 
回复 2楼 rjsp
c++,那个引用部分不知道怎么写 :exchange1(&La,m,n);

代码成就了世界
2014-03-04 13:34
快速回复:试设计一个算法,用尽可能少的辅助空间将顺序表中前m个元素和后n个元素 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050381 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved