| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1330 人关注过本帖
标题:试设计一个算法,用尽可能少的辅助空间将顺序表中前m个元素和后n个元素进行 ...
取消只看楼主 加入收藏
n309619949
Rank: 1
来 自:湖北天门
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-2-4
结帖率:33.33%
收藏
 问题点数:0 回复次数:0 
试设计一个算法,用尽可能少的辅助空间将顺序表中前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:50
快速回复:试设计一个算法,用尽可能少的辅助空间将顺序表中前m个元素和后n个元素 ...
数据加载中...
 
   



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

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