现有一个n个整数的序列,你要做的就是交换两个数的位置直到整个序列按照升序排列,那么将这个整数序列排好序,需要交换多少次?例如,1,2,3,5,4,我们只需要交换一次,即将5和4交换即可。
来源:互联网 发布:淘宝客推广到哪里 编辑:程序博客网 时间:2024/05/22 01:46
现有一个n个整数的序列,你要做的就是交换两个数的位置直到整个序列按照升序排列,那么将这个整数序列排好序,需要交换多少次?例如,1,2,3,5,4,我们只需要交换一次,即将5和4交换即可。
一、 c/c++实现
#include <iostream>using namespace std;//#include<vector>class Solution{public:int MinChange(vector<int> &array, int len){if(len < 1)return 0;//int count = 0;for(int i = 0; i < len; i ++){for(int j = i + 1; j < len; j ++){if(array[i] > array[j])count++;}}return count;}};int main(){int n = 0;cout<<"请输入数组的长度";cin >> n;vector<int>array;int temp = 0;for(int i = 0; i < n; i++){cin>>temp;array.push_back(temp);}Solution s;cout<<s.MinChange(array, n);system("pause");return 0;}二、c#实现
using System;using System.Collections.Generic;using System.Linq;namespace taotao{ class Program { static void Main(string[] args) { Console.Write("请输入一个整数数组的大小:"); int len = Convert.ToInt32(Console.ReadLine()); List<int> _list = new List<int>(); for (int i = 0; i < len; i++) { _list.Add(Convert.ToInt32(Console.ReadLine())); } // Console.WriteLine("需要交换的次数:{0}", ChangeCount(_list, len)); } static int ChangeCount(List<int>_list, int len) { int count = 0; for (int i = 0; i < len; i++) { } bool flag = true; while (flag) { flag = false; for (int i = 1; i < len; i++) { if (_list[i - 1] > _list[i]) { Swap(_list[i - 1], _list[i]); flag = true; count++; } } len--; } return count; } static void Swap(int a, int b) { int temp; temp = a; a = b; b = temp; } }}
0 0
- 现有一个n个整数的序列,你要做的就是交换两个数的位置直到整个序列按照升序排列,那么将这个整数序列排好序,需要交换多少次?例如,1,2,3,5,4,我们只需要交换一次,即将5和4交换即可。
- 现有一个n个整数的序列,你要做的就是交换两个数的位置直到整个序列按照升序排列,那么将这个整数序列排好序,需要交换多少次?
- 给定一个01串(仅由‘ 0’或‘1’组成的字符串),现在想把这个数字串排序成“非递减”有序序列,请问至少需要多少次交换(任意两个位置交换)
- 关于异或的用法1交换整数(注意陷阱)2求整数序列中差的一个值
- 交换两个整数的值
- 两个整数变量的交换
- 交换两个整数的值
- 两个整数的交换方法
- 交换两个整数的值
- 写正确函数需要注意的地方:两个序列a,b,大小都为n,序列元素的值为任意整数,无序;要求通过交换a,b中的元素,使序列a元素的和与序列b元素的和之间的差最小
- 有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。
- 有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。
- 有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。
- 有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。
- 有两个序列a,b,大小都有n,序列元素的值任意整数,无序; 要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b无素的和]之间的差最大。
- 有两个序列a,b,大小都为n,序列元素的值任意整数,无序; 要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。
- 有两个序列a,b,大小都为 n,序列元素的值任意整数,无序 通过交换a,b中的元素,使序列 a的和与序列b的和之间的差最小
- 交换两个数的位置
- Java进阶之----ArrayList源码分析
- 运行时堆栈的分析图
- 客户端报400
- [SQL学习笔记][用exists代替全称量词 ]
- Java中的synchronized
- 现有一个n个整数的序列,你要做的就是交换两个数的位置直到整个序列按照升序排列,那么将这个整数序列排好序,需要交换多少次?例如,1,2,3,5,4,我们只需要交换一次,即将5和4交换即可。
- 判断点在多边形内,水平/垂直交叉点数判别法(适用于任意多边形)
- 第40讲项目9——污损的单据
- 给 Android 开发者的 RxJava 详解
- 实现外部控件滚动条控制Dsoframer word的滚动
- Android--这些小工具让你的Android 开发更高效
- android图片文件的路径地址与Uri的相互转换
- 定位技术的方法
- Java数据类型中String、Integer、int相互间的转换