冒泡排序能排字符串类型的吗(冒泡法对字符串排序)

:暂无数据 2025-08-27 03:20:01 0
这篇文章给大家聊聊关于冒泡排序能排字符串类型的吗,以及冒泡法对字符串排序对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

本文目录

冒泡法对字符串排序

#include 《stdio.h》
#include 《string.h》
char * greeting={ "Hello", "Good morning", "How are you", "How do you do", "Good afternoon", "Good evening"};
int main(){
int fl=1,i;
while(fl){
fl=0;
for(i=0;i《5;i++)
if(strcmp(greeting)》0){
char * temp;
temp=greeting;
greeting;
greeting=temp;
fl=1;
}
}
for(i=0;i《=5;i++)
printf("%s\n",greeting);
return 0;
}

java 用冒泡排序法排序字符串数组

@org.junit.Test
public void b(){
String strs={"avcd","bdce","avcdf","cced","bdce"};
for (int i = 0; i 《 strs.length; i++) {
//第一个字符的ascii码大,放前面
for (int j = i+1; j 《 strs.length; j++) {
int num=0;
compare(strs, i,j, num);
}
}
for (String string : strs) {
System.err.println(string);
}
}
/**
 * @param strs
 * @param i
 * @param num
 */
private void compare(String strs, int i,int j, int num) {
//判断2个字符串谁的长度最小,则以当前长度作为num+1的最大标准
if (strs.length()) {
if (num+1《=strs.length()) {
if (strs.charAt(num)) {
String temp=strs;
strs;
strs=temp;
//若相等,则判断第二个
}else if(strs.charAt(num)){
num++;
compare(strs, i,j, num);
}
}
}else{
if (num+1《=strs.length()) {
if (strs.charAt(num)) {
String temp=strs;
strs;
strs=temp;
//若相等,则判断第二个
}else if(strs.charAt(num)){
num++;
compare(strs, i,j, num);
}
}else{
//表示当前字符串内容都一致,strs的长度大。 则放前面。
String temp=strs;
strs;
strs=temp;
}
}
}

给定程序功能是用冒泡法对6个字符串进行排序

我可以用冒泡排序数,实现6个数冒泡排序,第六行的n你可以指定成“cin》》n;”以达到n个数排序。若要字符串排序,你只要改char之类的就可以了。
以下为程序代码。
#include 《iostream》
using namespace std;
int main()
{
int i,j,n;
n=6;
int a;
for (i=1;i《=n;i++)
{
cin》》a;
}
for (i=1;i《=n-1;i++)
{
for (j=1;j《=n-i;j++)
{
if (a)
{
swap (a);
}
}
}
for (i=n;i》=1;i--)
{
cout《《a《《endl;
}
/*
以下为从小到大排序:
for (i=1;i《=n;i++)
cout《《a《《endl;
*/
system ("pause");
return 0;
}
本例为从大到小排序,从小到大排序方法在程序上已经进行注释。
本例使用程序:Dev-C++
你若使用VC++,请自行更改。
***隐藏网址***

如何使用冒泡排序方法排序一个字符串数组

public void sort(int data) {
int temp;
for(int i=0;i《data.length;i++){
for(int j=data.length-1;j》i;j--){
if(data){
SortUtil.swap(data,j,j-1);
}
}
}
}
/********************************各种 排序算法**********************************/
插入排序:
package org***t.util.algorithm.support;
import org***t.util.algorithm.SortUtil;
public class InsertSort implements SortUtil.Sort{
public void sort(int data) {
int temp;
for(int i=1;i《data.length;i++){
for(int j=i;(j》0)&&(data);j--){
SortUtil.swap(data,j,j-1);
}
}
}
}
冒泡排序:
package org***t.util.algorithm.support;
import org***t.util.algorithm.SortUtil;
public class BubbleSort implements SortUtil.Sort{
public void sort(int data) {
int temp;
for(int i=0;i《data.length;i++){
for(int j=data.length-1;j》i;j--){
if(data){
SortUtil.swap(data,j,j-1);
}
}
}
}
}
选择排序:
package org***t.util.algorithm.support;
import org***t.util.algorithm.SortUtil;
public class SelectionSort implements SortUtil.Sort {
public void sort(int data) {
int temp;
for (int i = 0; i 《 data.length; i++) {
int lowIndex = i;
for (int j = data.length - 1; j 》 i; j--) {
if (data) {
lowIndex = j;
}
}
SortUtil.swap(data,i,lowIndex);
}
}
}
Shell排序:
package org***t.util.algorithm.support;
import org***t.util.algorithm.SortUtil;
public class ShellSort implements SortUtil.Sort{
public void sort(int data) {
for(int i=data.length/2;i》2;i/=2){
for(int j=0;j《i;j++){
insertSort(data,j,i);
}
}
insertSort(data,0,1);
}
private void insertSort(int data, int start, int inc) {
int temp;
for(int i=start+inc;i《data.length;i+=inc){
for(int j=i;(j》=inc)&&(data);j-=inc){
SortUtil.swap(data,j,j-inc);
}
}
}
}
快速排序:
package org***t.util.algorithm.support;
import org***t.util.algorithm.SortUtil;
public class QuickSort implements SortUtil.Sort{
public void sort(int data) {
quickSort(data,0,data.length-1);
}
private void quickSort(int data,int i,int j){
int pivotIndex=(i+j)/2;
//swap
SortUtil.swap(data,pivotIndex,j);

int k=partition(data,i-1,j,data);
SortUtil.swap(data,k,j);
if((k-i)》1) quickSort(data,i,k-1);
if((j-k)》1) quickSort(data,k+1,j);

}
private int partition(int data, int l, int r,int pivot) {
do{
while(data《pivot);
while((r!=0)&&data》pivot);
SortUtil.swap(data,l,r);
}
while(l《r);
SortUtil.swap(data,l,r);
return l;
}
}
改进后的快速排序:
package org***t.util.algorithm.support;
import org***t.util.algorithm.SortUtil;
public class ImprovedQuickSort implements SortUtil.Sort {
private static int MAX_STACK_SIZE=4096;
private static int THRESHOLD=10;
public void sort(int data) {
int;

int top=-1;
int pivot;
int pivotIndex,l,r;

stack=0;
stack=data.length-1;

while(top》0){
int j=stack;
int i=stack;

pivotIndex=(i+j)/2;
pivot=data;

SortUtil.swap(data,pivotIndex,j);

//partition
l=i-1;
r=j;
do{
while(data《pivot);
while((r!=0)&&(data》pivot));
SortUtil.swap(data,l,r);
}
while(l《r);
SortUtil.swap(data,l,r);
SortUtil.swap(data,l,j);

if((l-i)》THRESHOLD){
stack=i;
stack=l-1;
}
if((j-l)》THRESHOLD){
stack=l+1;
stack=j;
}

}
//new InsertSort().sort(data);
insertSort(data);
}
private void insertSort(int data) {
int temp;
for(int i=1;i《data.length;i++){
for(int j=i;(j》0)&&(data);j--){
SortUtil.swap(data,j,j-1);
}
}
}
}
归并排序:
package org***t.util.algorithm.support;
import org***t.util.algorithm.SortUtil;
public class MergeSort implements SortUtil.Sort{
public void sort(int data) {
int;
mergeSort(data,temp,0,data.length-1);
}

private void mergeSort(int temp,int l,int r){
int mid=(l+r)/2;
if(l==r) return ;
mergeSort(data,temp,l,mid);
mergeSort(data,temp,mid+1,r);
for(int i=l;i《=r;i++){
temp;
}
int i1=l;
int i2=mid+1;
for(int cur=l;cur《=r;cur++){
if(i1==mid+1)
data;
else if(i2》r)
data;
else if(temp)
data;
else
data;
}
}
}

字符串的冒泡排序(一定要用c语言)

1、首先新建一个控制台应用程序。

2、接着准备整型的数组,后面排序好用。

3、然后进行for嵌套,注意内外嵌套的写法。

4、接着在内层嵌套中进行数据比较,然后进行排序。

5、接着就是对排序后的数组进行打印一下。

6、最后我们可以看到冒泡排序后的结果了。

字符串冒泡排序

#include 《iostream》
#include 《cstring》
#include 《string》
using namespace std;
int main()
{
char str;
for(int i = 0; i 《 5; i++)
cin 》》 str;
for(int i = 0; i 《 5; i++) {
for(int j = i+1; j 《 5; j++)
if(strcmp(str) == -1) {
char s;
strcpy(s,str);
s = ’\0’;
strcpy(str);
str = ’\0’;
strcpy(str,s);
str = ’\0’;
}
}
for(int i = 0; i 《 5; i++) {
//cout 《《 str 《《 endl;
printf("%s\n",str);
}
system("pause");
return 0;
}
从大到小的排序,如果要从小到大,就要修改if里面的1变为-1就行……

C语言字符串排序冒泡法

#include 《stdio.h》
#define N 5
void main()
{char str;
int i,j,t;
for(i=0;i《N;i++)
scanf("%c",&str);
for(i=0;i《N;i++)
for(j=i+1;j《N;j++)
if(str)
{
t=str;
str;
str=t;
}
for(i=0;i《N;i++)
{
printf("%c\n",str);
}

}
回车、空格都算是字符,要是输入超过数组大小,自动取前面的N个字符

C语言中 字符串怎么排序

直接借助冒泡排序,选择排序即可进行字符串的排序,但是需注意的是,字符串的比较需要借助strcmp函数完成,而字符串的复制需要借助strcpy函数完成。

示例代码如下:

#include "stdio.h"
#include "string.h"
void sort(char array,int n);
main(void)
{
    char str;
    int i,j,k,n;
    printf("input n (n《=10):");
    scanf("%d",&n);
    printf("input %d string:",n);
    for(i=0;i《n;i++)
        gets(str);  //输入N个字符串
    sort(str,n);        //对输入的字符串排序
    printf("sort string:\n");
    for(i=0;i《n;i++)
        puts(str);
    return 0;
}
void sort(char array,int n)   //定义排序函数
{
    char temp;
    int i,j,k;
    for(i=1;i《n-1;i++)
    {
        k=i;
        for(j=i+1;j《n;j++)
            if(strcmp(array)》0)
            k=j;
        if(k!=i)
        {
            strcpy(temp,array);   //字符串交换顺序
            strcpy(array);
            strcpy(array,temp);
        }
    }
}

冒泡排序:输入n个字符串,对其进行冒泡排序,使其按从小到大顺序输出

以字符串指针数组为基础,进行冒泡排序,参考代码如下
#include《stdio.h》
#include《string.h》
#define N 5
#define L 200
void sort(char *p, int n)
{
int i,j;
char *t;
for(i=0;i《n-1;++i)
for(j=0;j《n-i-1;++j)
if(strcmp(p)》0){
t=p;
p;
p=t;
}
}
int main()
{
char str;
int i,j;
for(i=0;i《N;++i){
scanf("%s",str);
p;
}
sort(p,N);
printf("排序后:\n");
for(i=0;i《N;++i)
printf("%s\n",p);
return 0;
}

C语言用冒泡法对六个字符串按从小到大排

*(pstr+i)就是pstr数组的元素i,但这是指针数组,所以里面保存的是指针,可写为pstr。
上面三句就是地址交换。
*pstr是指针数组,pstr的每一个元素都是指针。还有字符串比较函数包含在 库函数 string.h中,要包含进去;定义指针时尽量把他赋值为空指针,不然野指针危害很大的。
根据你下面的输出情况,你是从每个字符,的首地址开始输出,所以上面交换的是地址,所以那三句改为
p=pstr;
pstr;
pstr=p;
就比较直观了
即把字符比较小的交换到前面去。就可得到你想要的结果。
改后的程序如下:

#include 《stdio.h》#include 《conio.h》
#include《string.h》

#define MAXLINE 20
int fun ( char *pstr){
int i, j ;
char *p=NULL;

for (i=0;i《5;i++)
{
for (j=i+1;j《6;j++)
{
if(strcmp(*(pstr+i),*(pstr+j))》 0)
{
p=pstr;
pstr;
pstr=p;

//等同于注释了的这三句
/* p=*(pstr+i) ;
*(pstr+i)=*(pstr+j);
*(pstr+j)=p ; */

}
}
}
}
int main(int argc,int *aggv)
{
int i;
char *pstr;

clrscr( );
for(i=0;i《6;i++)
pstr;
printf("\nEnter 6 string(1 string at each line): \n" );
for(i=0;i《6;i++)
scanf("%s",pstr);
fun(pstr);
printf("The strings after sorting:\n");
for(i=0;i《6;i++)
printf("%s\n", pstr);
return 0;
}

冒泡法对字符串排序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于冒泡法对字符串排序、冒泡法对字符串排序的信息别忘了在本站进行查找哦。
本文编辑:admin

更多文章:


xshell连接虚拟机(xshell需要两次才能连上虚拟机)

xshell连接虚拟机(xshell需要两次才能连上虚拟机)

今天给各位分享xshell需要两次才能连上虚拟机的知识,其中也会对xshell需要两次才能连上虚拟机进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

stream登录(steam怎么扫码**)

stream登录(steam怎么扫码**)

本篇文章给大家谈谈stream登录,以及steam怎么扫码**对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

什么叫嵌入式系统(什么是嵌入式系统)

什么叫嵌入式系统(什么是嵌入式系统)

大家好,如果您还对什么叫嵌入式系统不太了解,没有关系,今天就由本站为大家分享什么叫嵌入式系统的知识,包括什么是嵌入式系统的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

html5培训中心(Html5培训机构有哪些)

html5培训中心(Html5培训机构有哪些)

这篇文章给大家聊聊关于html5培训中心,以及Html5培训机构有哪些对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

冒泡排序能排字符串类型的吗(冒泡法对字符串排序)

冒泡排序能排字符串类型的吗(冒泡法对字符串排序)

这篇文章给大家聊聊关于冒泡排序能排字符串类型的吗,以及冒泡法对字符串排序对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

java正则表达式查找(J**A 正则表达式怎么写查找 以A 开头 以B 结尾 中间包含字符串 C 的字符串)

java正则表达式查找(J**A 正则表达式怎么写查找 以A 开头 以B 结尾 中间包含字符串 C 的字符串)

各位老铁们,大家好,今天由我来为大家分享java正则表达式查找,以及J**A 正则表达式怎么写查找 以A 开头 以B 结尾 中间包含字符串 C 的字符串的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我

数据类型用于说明数据在计算机中什么的规则(数据类型有哪些)

数据类型用于说明数据在计算机中什么的规则(数据类型有哪些)

其实数据类型用于说明数据在计算机中什么的规则的问题并不复杂,但是又很多的朋友都不太了解数据类型有哪些,因此呢,今天小编就来为大家分享数据类型用于说明数据在计算机中什么的规则的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

企业信息模板(企业调研报告模板5篇)

企业信息模板(企业调研报告模板5篇)

各位老铁们,大家好,今天由我来为大家分享企业信息模板,以及企业调研报告模板5篇的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

二叉树中序遍历递归算法(用递归算法先序中序后序遍历二叉树)

二叉树中序遍历递归算法(用递归算法先序中序后序遍历二叉树)

其实二叉树中序遍历递归算法的问题并不复杂,但是又很多的朋友都不太了解用递归算法先序中序后序遍历二叉树,因此呢,今天小编就来为大家分享二叉树中序遍历递归算法的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

async validator(使用aspnet.identity 身份验证的框架中,怎么对现有用户进行删除)

async validator(使用aspnet.identity 身份验证的框架中,怎么对现有用户进行删除)

这篇文章给大家聊聊关于async validator,以及使用aspnet.identity 身份验证的框架中,怎么对现有用户进行删除对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

最近更新

stream登录(steam怎么扫码**)
2025-08-27 06:20:01 浏览:0
nba2k19(nba2k19麦迪在哪队)
2025-08-27 04:40:01 浏览:0
热门文章

口语100下载(口语100电脑版怎样下载)
2025-06-27 09:00:02 浏览:10
标签列表