您的位置:首页 > 其它

对一个数组元素排序,对应的数组元素排序

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;
}

编程收获:
 两个数组元素对应排序用的方法和一个数组元素排序类似

运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐