新建
上传
首页
助手
最?/div>
资料?/div>
工具

1 

 

实验一、顺序表逆置和单链表逆置

 

1.1 

问题的提?/p>

 

设有一个线性表

E={e

1

, e

2

, ?nbsp;, e

n-1

, e

n

}

,设计一个算法,将线性表逆置,即

使元素排列次序颠倒过来,成为逆线性表

E?{ e

n 

, e

n-1 

, ?nbsp;, e

2 

, e

1

 }

,要求逆线?/p>

表占用原线性表空间?/p>

并且用顺序表和单链表两种方法表示?/p>

分别用两个程序来

完成?/p>

 

?/p>

 

顺序表逆置

 

1.1.1 

算法分析

 

Step1

:将顺序表位?/p>

i

的元素与位置

L->last-i+1

的元素进行互换;

 

Step2

:重?/p>

Step1

,直?/p>

i=L->last/2

,结束?/p>

 

1.1.2 

问题的程序代?/p>

 

//

顺序表逆置

 

void invert(sequenlist*L) 

{ 

 

 

 

 

 

int i; 

 

 

 

 

 

datatype temp; //

定义

i

?/p>

temp

的类?/p>

 

 

 

 

 

 

for(i=1;i<=L->last/2;i++)//for

循环语句,其中的

L->last/2

?/p>

L->last

为奇

数时,相当于向下取整

 

 

 

 

 

 

{temp=L->data[i]; 

 

 

 

 

 

 

L->data[i]=L->data[L->last-i+1]; 

 

 

 

 

 

 

L->data[L->last-i+1]=temp;//

将位?/p>

i

和位?/p>

L->last-i+1

的元素进行互?/p>

 

 

 

 

 

 

 

} 

} 

1.1.3 

运行结果

 

 

1.1.4 

存在的问?/p>

 

逆置表中的元素只能是单个元素,不能进行多位数的逆置,如下图所?/p>

 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

1 

 

实验一、顺序表逆置和单链表逆置

 

1.1 

问题的提?/p>

 

设有一个线性表

E={e

1

, e

2

, ?nbsp;, e

n-1

, e

n

}

,设计一个算法,将线性表逆置,即

使元素排列次序颠倒过来,成为逆线性表

E?{ e

n 

, e

n-1 

, ?nbsp;, e

2 

, e

1

 }

,要求逆线?/p>

表占用原线性表空间?/p>

并且用顺序表和单链表两种方法表示?/p>

分别用两个程序来

完成?/p>

 

?/p>

 

顺序表逆置

 

1.1.1 

算法分析

 

Step1

:将顺序表位?/p>

i

的元素与位置

L->last-i+1

的元素进行互换;

 

Step2

:重?/p>

Step1

,直?/p>

i=L->last/2

,结束?/p>

 

1.1.2 

问题的程序代?/p>

 

//

顺序表逆置

 

void invert(sequenlist*L) 

{ 

 

 

 

 

 

int i; 

 

 

 

 

 

datatype temp; //

定义

i

?/p>

temp

的类?/p>

 

 

 

 

 

 

for(i=1;i<=L->last/2;i++)//for

循环语句,其中的

L->last/2

?/p>

L->last

为奇

数时,相当于向下取整

 

 

 

 

 

 

{temp=L->data[i]; 

 

 

 

 

 

 

L->data[i]=L->data[L->last-i+1]; 

 

 

 

 

 

 

L->data[L->last-i+1]=temp;//

将位?/p>

i

和位?/p>

L->last-i+1

的元素进行互?/p>

 

 

 

 

 

 

 

} 

} 

1.1.3 

运行结果

 

 

1.1.4 

存在的问?/p>

 

逆置表中的元素只能是单个元素,不能进行多位数的逆置,如下图所?/p>

 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

1 

 

实验一、顺序表逆置和单链表逆置

 

1.1 

问题的提?/p>

 

设有一个线性表

E={e

1

, e

2

, ?nbsp;, e

n-1

, e

n

}

,设计一个算法,将线性表逆置,即

使元素排列次序颠倒过来,成为逆线性表

E?{ e

n 

, e

n-1 

, ?nbsp;, e

2 

, e

1

 }

,要求逆线?/p>

表占用原线性表空间?/p>

并且用顺序表和单链表两种方法表示?/p>

分别用两个程序来

完成?/p>

 

?/p>

 

顺序表逆置

 

1.1.1 

算法分析

 

Step1

:将顺序表位?/p>

i

的元素与位置

L->last-i+1

的元素进行互换;

 

Step2

:重?/p>

Step1

,直?/p>

i=L->last/2

,结束?/p>

 

1.1.2 

问题的程序代?/p>

 

//

顺序表逆置

 

void invert(sequenlist*L) 

{ 

 

 

 

 

 

int i; 

 

 

 

 

 

datatype temp; //

定义

i

?/p>

temp

的类?/p>

 

 

 

 

 

 

for(i=1;i<=L->last/2;i++)//for

循环语句,其中的

L->last/2

?/p>

L->last

为奇

数时,相当于向下取整

 

 

 

 

 

 

{temp=L->data[i]; 

 

 

 

 

 

 

L->data[i]=L->data[L->last-i+1]; 

 

 

 

 

 

 

L->data[L->last-i+1]=temp;//

将位?/p>

i

和位?/p>

L->last-i+1

的元素进行互?/p>

 

 

 

 

 

 

 

} 

} 

1.1.3 

运行结果

 

 

1.1.4 

存在的问?/p>

 

逆置表中的元素只能是单个元素,不能进行多位数的逆置,如下图所?/p>

 

Ͼλ">
Ͼλ
Ŀ

软件技术基础上机作业 - 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

1 

 

实验一、顺序表逆置和单链表逆置

 

1.1 

问题的提?/p>

 

设有一个线性表

E={e

1

, e

2

, ?nbsp;, e

n-1

, e

n

}

,设计一个算法,将线性表逆置,即

使元素排列次序颠倒过来,成为逆线性表

E?{ e

n 

, e

n-1 

, ?nbsp;, e

2 

, e

1

 }

,要求逆线?/p>

表占用原线性表空间?/p>

并且用顺序表和单链表两种方法表示?/p>

分别用两个程序来

完成?/p>

 

?/p>

 

顺序表逆置

 

1.1.1 

算法分析

 

Step1

:将顺序表位?/p>

i

的元素与位置

L->last-i+1

的元素进行互换;

 

Step2

:重?/p>

Step1

,直?/p>

i=L->last/2

,结束?/p>

 

1.1.2 

问题的程序代?/p>

 

//

顺序表逆置

 

void invert(sequenlist*L) 

{ 

 

 

 

 

 

int i; 

 

 

 

 

 

datatype temp; //

定义

i

?/p>

temp

的类?/p>

 

 

 

 

 

 

for(i=1;i<=L->last/2;i++)//for

循环语句,其中的

L->last/2

?/p>

L->last

为奇

数时,相当于向下取整

 

 

 

 

 

 

{temp=L->data[i]; 

 

 

 

 

 

 

L->data[i]=L->data[L->last-i+1]; 

 

 

 

 

 

 

L->data[L->last-i+1]=temp;//

将位?/p>

i

和位?/p>

L->last-i+1

的元素进行互?/p>

 

 

 

 

 

 

 

} 

} 

1.1.3 

运行结果

 

 

1.1.4 

存在的问?/p>

 

逆置表中的元素只能是单个元素,不能进行多位数的逆置,如下图所?/p>

 



ļ׺.doc޸Ϊ.docĶ

  • ֪ʶʴԾ
  • ϰ
  • 2015-2020йѽг״ͶʷԤⱨ
  • ѡ
  • ʵComparableӿڵCircle
  • ϵͳ̵籣ԭͼϰ⸴ϰ˼·
  • lteѧϰܽ
  • ս̰һ꼶²ᡶԭ糿ѧơ˵뷴˼
  • пƼѧ顱Ŷʵܽ
  • ѧеƻϰ

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)