- 8
- 0
- 约4.97千字
- 约 12页
- 2021-01-05 发布于山东
- 举报
v1.0 可编辑可修改
实验四 一维数组、二维数组
一、实验目的与要求
1、熟练掌握一维数组、二维数组的定义、赋值和输入输出的方法。
2、掌握与数组有关的算法。
二、实验内容
1、(1)输入 N个整数,使用冒泡排序,将数据由大到小输出。
#include
#include
void swap2(int*,int*);
void bubble(int a[],int n);
int main(void)
{
int n,a[8];
int i;
printf(Enter n(n=8):);
scanf(%d,n);
printf(Enter a[%d]:, n);
for(i=0;in;i++)
scanf(%d, a[i]);
bubble(a,n);
1
v1.0 可编辑可修改
printf(After sorted,a[%d]=, n);
for(i=0;in;i++)
printf(%3d,a[i]);
return 0;
}
void bubble(int a[],int n) /*n 是数组 a 中待排序元素的数量 */
{
int i,j;
for(i=1;in;i++) /* 外部循环 --- 请问这个嵌套循环怎么理解 */
for(j=0;jn-i;j++) /* 内部循环 --- 请问这个嵌套循环怎么理解 */
if(a[j]a[j+1])
swap2(a[j],a[j+1]); /* 交换 */
}
void swap2(int *px,int *py)
{
int t;
t=*px;
*px=*py;
*py=t;
}
2
v1.0 可编辑可修改
单向冒泡排序法 :
// 输入 10个整数 , 按从大到小输出 //
#include
void main()
{
int i,j,t,a[10];
printf( 请输入 10个整数 \n);
for(i=0;i10;i++)
scanf(%d,a[i]);
for(j=1;j10;j++) //10 个数要来回做 (10-1) 趟次 //
for(i=1;i11-j;i++) // 第 j 趟要做 (10-j) 次比较 //
if(a[i]a[i-1]) // 每做完一趟 , 就会将数组中较小的一个
数沉淀下来 , 较大的数不断往上冒 //
{t=a[i];a[i]=a[i-1];a[i-1]=t;}
printf( 按从大到小排序输出结果是 :\n);
for(i=0;i10;i++)
printf(%-3d,a[i]);
printf(\n);
}
双向冒泡排序法 :
// 输入 10个整数 , 按从大到小输出 //
#include
3
v1.0 可编辑可修改
void main()
{
int i,j,t,k,a[10];
printf( 请输入 10个整数 \n);
for(i=0;i10;i++)
scanf(%d,a[i]);
for(j=1;j10;j++) //10 个数要来回做 (10-1) 趟
次//
{for(i=1;i11-j;i++) // 第 j 趟要做 (10-j) 次比较 , 双
向冒泡法 , 是先从上至下两两比较一次 //
if(a[i]a[i-1]) // 每做完一趟 , 就会将数组中较小的一个
数沉淀下来 , 较大的数不断往上冒 //
{t=a[i];a[i]=a[i-1];a[i-1]=t;}
for(k=i-1;k0;k--) // 与单向冒泡不同的是 , 这是双向冒泡的
关键 , 每一次从顶至下比较完一次后 , 同时再从下 //
if(a[k]a[k-1]) // 至上比较一次 , 也就是说每一趟数组
中的元素两两比较了两次 , 这就是双向冒泡排序了 //
{t=a[k];a[k]=a[k-1];a[k-1]=t;}
}
printf( 按从大到小排序输出结果是 :\n);
for(i=0;i10;i++)
printf(%-3d,a[i]);
4
v1.0 可编辑可修改
printf(\n);
}
$(2)输入 N个整数,使用改进的冒泡排序,将数据由大到小输出。
#include
#include
void swap2(int*,int*);
void bubble(int a[],int n);
int main(void)
{
int n,a[8];
int i;
printf(Enter n(n=8):);
scanf(%d,n);
printf(Enter a[%d]:, n);
for(i=0;in;i++)
scanf(%d, a[i]);
bubble(a,n);
printf(After sorted,a[%d]=, n);
for(i=0;in;i++)
5
v1.0 可编辑可
您可能关注的文档
最近下载
- 项目可行性研究报告大纲.pptx VIP
- 小学体育五年级下册教案(最全).doc VIP
- 照顾老人保姆合同范本10篇.docx VIP
- 图形推理专项练习题.FIT).pdf VIP
- 《钢轨超声波探伤系统的设计》【毕业设计论文】.doc VIP
- 2022年广东高考生物试卷真题及答案详解(精校版).pdf VIP
- Panasonic 松下 录像机 DMR-EH59 DMR-EH49 Operating Instructions 操作手册说明书 (英语).pdf
- 迪罗—特马法纤维开松混合设备机械原理.pdf VIP
- 高考英语单词3500乱序版.pdf VIP
- 2024年新课标高考福建高考真题生物试卷(原卷版).docx VIP
原创力文档

文档评论(0)