用指针数组表示一组学生的姓名,要求用冒泡排序法按升序对其实现排序,并输出排序的结果

2024-10-29 20:46:22
推荐回答(3个)
回答(1):

1、打开myeclipse工具,新建一个工程,并新建一个包,在该包下新建一个类。注意类名首字母必须大写,这是java代码的命名规范。

2、在该Demo1类下,写一个静态的select()方法。用来写选择排序的方法。参数为 需要排序的整数数组。

3、在该Demo1类下,写一个静态的maopao()方法。用来写冒泡排序的方法。参数为 需要排序的整数数组。

4、在主函数中调用maopao()方法。右键并点击 run as ,观察控制台上输出的结果,从小到大排序。

5、在主函数中调用select()方法。右键并点击 run as ,观察控制台上输出的结果,从小到大排序。

6、选择排序和冒泡排序的区别在于算法的实现不同。

回答(2):

用二维指针指向一个指针数组,将各自姓名分别赋给里面的指针元素,用冒泡法确定各名字顺序后,设一个指针作为中间量对各名字排序

回答(3):

#include
#include
#define N 4
#define M 10
void fun(char **str)
{
int i,j;
char *tmp;
for(i = 0; i < 3; i++)
for(j = 0; j < 3 - i; j++) {
if(strcmp(str[j], str[j+1]) > 0){
tmp = str[j];
str[j] = str[j+1];
str[j+1] = tmp;
}
}
for(i=0;i<4;i++)
printf("%s ",str[i]);
printf("\n");
}
int main(){
char str1[N][M];

int i,j;
for(i=0;iscanf("%s",str1+i);
}
char *str2[N];
for(i=0;istr2[i]=str1[i];
}
fun(str2)

return 0;
}