对一个数组元素排序,对应的数组元素排序
2016-12-05 15:28
253 查看
目的:
对一个数组元素排序,对应的数组元素排序
比如一个数组为单词,另一个数组为每个单词的字母数。用一个函数对它们进行对应排序
#include <iostream>
#include <string>
using namespace std;
template <class type>
void matchSort(type* array1, int* array2, int size)//比较两个数组,按照对应顺序从大到小排列另一个数组
{
int i, j, tmp;
type tmpStr;
for (i = 0; i< size; i++) //因为数组用的是指针传入函数,必须另外传入一个参数size来指定数组长度
for (j = i + 1; j<size +1; j++)
if (array2[i]<array2[j])//如果第一个数组进行从大到小排序
{
tmp = array2[i]; //对一个数组内部元素进行交换
array2[i] = array2[j];
array2[j] = tmp;
tmpStr = array1[i]; //对另一个数组内部元素也进行交换
array1[i] = array1[j];
array1[j] = tmpStr;
}
}
template <class type>
void printArray(type* array, int size)
{
for (int i = 0; i < size; i++)
{
cout << array[i] << "\t";
}
cout << endl;
}
int main()
{
string array1[] = { "most", "co", "budgets", "are", "tight" };//第一个数组为单词
int array2[] = { 4,2,7,3,5 };//第二个数组为单词的字母数
matchSort(array1, array2, 5);
printArray(array2, 5);
printArray(array1, 5);
system("pause");
return EXIT_SUCCESS;
}
编程收获:
两个数组元素对应排序用的方法和一个数组元素排序类似
运行结果:
对一个数组元素排序,对应的数组元素排序
比如一个数组为单词,另一个数组为每个单词的字母数。用一个函数对它们进行对应排序
#include <iostream>
#include <string>
using namespace std;
template <class type>
void matchSort(type* array1, int* array2, int size)//比较两个数组,按照对应顺序从大到小排列另一个数组
{
int i, j, tmp;
type tmpStr;
for (i = 0; i< size; i++) //因为数组用的是指针传入函数,必须另外传入一个参数size来指定数组长度
for (j = i + 1; j<size +1; j++)
if (array2[i]<array2[j])//如果第一个数组进行从大到小排序
{
tmp = array2[i]; //对一个数组内部元素进行交换
array2[i] = array2[j];
array2[j] = tmp;
tmpStr = array1[i]; //对另一个数组内部元素也进行交换
array1[i] = array1[j];
array1[j] = tmpStr;
}
}
template <class type>
void printArray(type* array, int size)
{
for (int i = 0; i < size; i++)
{
cout << array[i] << "\t";
}
cout << endl;
}
int main()
{
string array1[] = { "most", "co", "budgets", "are", "tight" };//第一个数组为单词
int array2[] = { 4,2,7,3,5 };//第二个数组为单词的字母数
matchSort(array1, array2, 5);
printArray(array2, 5);
printArray(array1, 5);
system("pause");
return EXIT_SUCCESS;
}
编程收获:
两个数组元素对应排序用的方法和一个数组元素排序类似
运行结果:
相关文章推荐
- 个有10个元素的整型一维数组,用户输入9个数据,调用函数,对数组元素进行从小到大排序后,在函数中输入一个数,插入到数组中正确的位置,并输出
- 一个已经排序的数组,去除里面重复的元素
- 这是一个我面试某公司的算法题目:对一个字符数组进行排序,根据给定的字符,大于它的,放在数组的左边,小于它的,放在数组的右边,且数组中的元素之间的相对位置要保持不变。
- 两个数组逆排元素对应相加,返回一个数组
- 百度面试题:求一个已排序的数组中绝对值最小的元素
- 将数组元素当作函数的实参,调用函数将数组的每个元素值转换为它对应的字符
- 一个H行L列的二维矩阵数组(整形),求每行元素总和,并将每行总和排序输出
- 给定一个整型数组,求数组元素大于等于所有元素平均值的元素个数
- 编写一个使用数组类模板Array对数组进行排序、求最大值和求元素和的程序,并采用相关数据进行测试。
- 2014年去哪儿网笔试题--给定一个整型数组,对这个整型素组排序,使得按序拼接数组各元素得到的值最小。
- 一个关于数组中满足条件的元素选择、及再次排序得c语言函数。
- 已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中
- 把一个二维实型数组a按照第0列的元素进行排序(由小到大排序,用气泡法)
- 两个数字,1000个元素的有序数组和10个元素的无序数组,把他们整合成一个按照有序数组排序方式排序的有序数组
- 题目:给一个排序好的整数数组A,请写一个函数,输入是数组A和一个整数x,返回数组A中值小于x的最大元素的索引值
- 求一个已排序的数组中绝对值最小的元素
- 输入一个数组,对数组进行排序,并输出该数组中重复元素出现的次数
- /*将数组{17,82,-4,55}和数组{34,11,66,56,76}合并放入一个数组中,然后 对其中的元素进行排序。按从大到小排序。*/
- 使用函数指针,完成一个sort()函数,能对任何类型的数组元素进行排序: 回调函数 以及 memcpy ()原型实现
- 编写一个使用数组类模板Array对数组进行排序、求最大值和求元素和的程序,并采用相关数据进行测试。