问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:Project4.cpp
* 作 者:李楠
* 完成日期:2014年11月21日
* 版 本 号:v1.0
*
* 问题描述: 编写程序,完成冒泡排序,改造(1)的程序,使其能对字符数组进行排序。
* 输入描述: 略
* 程序输出: 略
*/
#include <iostream>
#include <cmath>
using namespace std;
void bubble_sort(char p[],int n);
void output_array(char p[],int n);
int main( )
{
char a[20]={'s','o','r','t','b','u','b','b','l','e','s','e','l','e','c','t','o','k','o','k'};
char b[15]={'d','g','e','b','u','l','q','v','a','o','f','s','l','e','o'};
bubble_sort(a,20); //用冒泡法按降序排序a中元素
output_array(a,20); //输出排序后的数组
bubble_sort(b,15); //用冒泡法按降序排序b中元素
output_array(b,15); //输出排序后的数组
return 0;
}
//请在下面定义bubble_sort和output_array函数
void bubble_sort(char p[],int n)
{
int i,j,t;
for(j=0;j<n-1;++j)
for(i=0;i<n-j-1;++i)
if(p[i]<p[i+1])
{
t=p[i];
p[i]=p[i+1];
p[i+1]=t;
}
return;
}
void output_array(char p[],int n)
{
int i;
for(i=0;i<n-1;++i)
cout<<p[i]<<",";
cout<<p[n-1]<<"\n";
return;
}
运行结果:
知识点总结:
只要明白了冒泡排序的原则,把p[ ]的类型改成字符型就能实现字符的排序
学习心得:
举一反三的能力要渐渐地培养起来,并且这种能力在有些时候是十分必要的~