一个二维的字符串数组,输入若干个字符串,按升序排列,设计一个函数用于排序sort(数组,个数)C++

如题所述

void sort(char array[3][4],int coun)
{
int i,j;
char news[12];
int bianliang = -1;
for (i=0; i<3; i++)
{
for (j=0; j<4; j++)
{
bianliang ++;
news[bianliang] = array[i][j];
}
}
for (i=0; i<coun-1; i++)
{
for (j=0; j<coun-1-i; j++)
{
if (news[j] >= news[j+1])
{
char temp;
temp = news[j];
news[j] = news[j+1];
news[j+1] = temp;
}
}
}
for (i=0; i<coun; i++)
{
cout<<news[i];
}
}
先在函数中把二维数组元素赋给一维数组,然后再比较
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-29
#include <iostream>
#include <string.h>
using namespace std;
void sort(char str[][255], int nstr);
int main()
{
char str[3][255] = {
第2个回答  2010-11-29
void sort (string data[10][10], int n)
{
int count = 0; //计算有多少个元素已经排序
//运用选择排序法进行排序
while(count < n)
{
int min = count; //记录为排序的元素中最小的元素的位置
for (int i = count + 1; i < n; i++)
{
if (data[min/10][min] > data[i/10][i])
{
min = i;
}
}

//把在位置count的元素与为排序的元素交换位置
string hold = data[min/10][min];
data[min/10][min] = data[count/ 10][count];
data[count/ 10][count] = hold;
count++;
}
}
第3个回答  2010-11-30
如果你想根据输入的个数来确定数组大小,那普通数组就别用了!
1.动态数组
2.向量(vector)或双端队列(deque)等

优先推荐向量,掌握几个常用函数就可以了
而且由于是模板所以支持各种数据类型

具体的看C++帮助文件,或者搜索相关的问题,因为我已经在百度知道里看到好几篇介绍向量的文章了。
我可以帮助你,你先设置我最佳答案后,我百度Hii教你。
相似回答