C++实验6——数组操作

这篇博客介绍了一个C++实验项目,涉及数组操作。首先定义了一个包含10个不重复元素的整数数组,并使用冒泡法对其进行排序。接着,博客详细阐述了如何在排序后的数组中实现两个关键功能:一是删除指定数值x的元素,二是有序地插入新值x到数组中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【项目1:数组操作】定义一个不重复的有初值的10个元素的整数数组a,利用冒泡法对数组a排序后完成以下操作(写在一个程序中)

1。从键盘中输入一个数x,删除a数组中值为x的数组元素;

2。从键盘中输入一个数x,将x插入到a数组后数组a依然有序;


<pre name="code" class="cpp">/*文件名称:cy.cpp
*作    者:杨鑫
*完成日期:2016年5月19日
*版 本 号:v1.0
*对任务的求解方法及描述部分:
*输入描述:定义一个不重复的有初值的10个元素的整数数组a,利用冒泡法对数组a排序后从键盘中输入一个数x
*问题描述:1。从键盘中输入一个数x,删除a数组中值为x的数组元素;
           2。从键盘中输入一个数x,将x插入到a数组后数组a依然有序;
*问题分析:
*算法设计:
*/
#include<iostream>
using namespace std;
int main()
{
	const int N=10;
	int a[N]={10,8,5,4,3,6,7,9,2,11};
    int i,j,t;
	for(i=0;i<=N-2;i++)
	{
		for(j=0;j<=N-2-i;j++)
		{
			if(a[j]>a[j+1])
			{
				t=a[j];
				a[j]=a[j+1];
				a[j+1]=t;
			}
		}
	}
	for(i=0;i<N;i++)
		cout<<a[i]<<" ";
		cout<<endl;
		cout<<"请输入要删掉的数x和要插入的数y";
	int x,k=0;
        cin>>x;
        for(i=0;i<N;i++)
        {
            if(a[i]==x)
                k=i;
        }
        for(i=k;i<N-1;i++)
            a[i]=a[i+1];
        int y;
        cin>>y;
        a[9]=y;
        for(i=9;i>0;i--)
        {
            if(a[i]<a[i-1])
            {
                k=a[i-1];
                a[i-1]=a[i];
                a[i]=k;
            }
        }
        for(i=0;i<N;i++)
            cout<<a[i]<<" ";
  return 0;
}
【二】运行结果
<img src="https://img-blog.youkuaiyun.com/20160525173152269?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
【三】心得总结
冒泡法排序的基本思想:从数组的第一个数开始,相邻两数两两比较,把小数对调到前边,大数放在后面,如此进行一轮,就把最大的数互换到最后,再进行一轮,则会把第二大数排在倒数第二的位置,进行N-1次后,整个数列即可排好。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值