欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

c語言字符排序函數(shù) c++語言字符串排序方法

C語言如何用自定義函數(shù)進(jìn)行字符排序?

void fun(char a[])

創(chuàng)新互聯(lián)公司長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為叢臺(tái)企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站,叢臺(tái)網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

{ int k=0,i,j;

char t;

while(a[k])

k++;//計(jì)算字符串長度

for(i=0;ik;i++)//冒泡排序

for(j=0;jk-1-i;j++)

if(a[j]a[j+1])

{t=a[j];

a[j]=a[j+1];

a[j+1]=t;}

}

c語言字符串排序

你有兩個(gè)錯(cuò)誤,一是C的變量定義必須在所有語句之前,二是字符串不能賦值,必須使用strcpy函數(shù),修改后的程序代碼和運(yùn)行結(jié)果如下:

$ cat a.c

#includestdio.h

#includestring.h

void Solve();

void sort(char *name[], int n);

int main()

{

Solve();

return 0;

}

void Solve()

{

int i,n;

char name[100][100];

scanf("%d",n);

for(i=0;in;i++)

{

gets(name[i]);

}

sort(name,n);

for(i=0;in;i++)

{

puts(name[i]);

}

}

void sort(char *name[100], int n)

{

int i,j,k;

char *temp;

for(i=0;in-1;i++)

{

k=i;

for(j=i+1;jn;j++) if(strcmp(name[k],name[j])0) k=j;

if (k!=i)

{

{

strcpy(temp,name[i]);

strcpy(name[i],name[k]);

strcpy(name[k],temp);

}

}

}

}

$ cc a.c

"a.c", line 19: warning #2167-D: argument of type "char (*)[100]" is

incompatible with parameter of type "char **"

sort(name,n);

^

$ a.out

6dkjlfhgjkshdfjkgh

1kdfghj

3dkjfhghd

2dlkfjgklj

5ldfkhlkj

4dflkghklj

1kdfghj

3dkjfhghd

2dlkfjgklj

5ldfkhlkj

4dflkghklj

$ cc -V

cc: HP C/aC++ B3910B A.06.25 [Nov 30 2009]

/cq/u/cqjsdba/ygb

C語言字符串快速排序函數(shù)

#include stdio.h

#includestdlib.h

#includestring.h

int comp(char *a,char *b)

{

while(*a==*b*a*b){a++;b++;}

return (int)*a-(int)*b;

}

int main(void)

{

char s[1000][20];

int i,n;

scanf("%d\n",n);

for(i=0;in;i++)

gets(s[i]);

qsort(s,n,sizeof(s[0]),comp);

printf("\n");

for(i=0;in;i++)

puts(s[i]);

system("pause");

return 0;

}

c語言字符排序

c語言字符排序:

輸入:abc 輸出:abc acb bac bca cab cba

#includestdio.h

#includestdlib.h

#includestring.h

void mySwap(char *a,char *b)

{

char temp;

temp = *a;

*a = *b;

*b = temp;

}

void PaiLie(char *list,int begin,int end)

{

int i;

if(list == NULL)

return;

if(begin == end)

{

printf("%s ",list);

printf("\n");

}else{

for(i = begin ; i=end ;i++)

{

mySwap(list[i],list[begin]);

PaiLie(list,begin+1,end);

mySwap(list[i],list[begin]);

}

}

}

void main()

{

char list[] = "abc";

char out [4];

PaiLie(list,0,2);

//ZuHe(list,out,3,0,0);

}

如果有重復(fù),去掉重復(fù)的,然后滿足一些特定的要求(如:第3個(gè)位置不可以是4,3和5不可以相鄰)

Java實(shí)現(xiàn)。

此方法需要輸入數(shù)字從小到大排列,若不是只需在排列之前預(yù)處理一下即可。

關(guān)鍵是compareTo方法

[java] view plain copy

package dataStruct;

import java.util.LinkedList;

import java.util.List;

public class PaiLie {

private static ListString result = new LinkedListString();

private static String lastResult = "";

public static void main(String[] args) {

String s = "1223";

char[] c = s.toCharArray();

paiLie(c, 0, c.length - 1);

for (int i = 0; i result.size(); i++)

System.out.println(result.get(i));

}

public static boolean validator(String s) {

if (s.compareTo(lastResult) = 0) //去重復(fù)的關(guān)鍵

return false;

if (s.charAt(2) == '4')

return false;

if (s.indexOf("35") = 0)

return false;

if (s.indexOf("53") = 0)

return false;

return true;

}

public static void paiLie(char[] c, int begin, int end) {

if (begin == end) {

String s = new String(c);

if (validator(s)) {

lastResult = s;

result.add(s);

}

}

for (int i = begin; i = end; i++) {

swap(c, begin, i);

paiLie(c, begin + 1, end);

swap(c, begin, i);

}

}

public static void swap(char[] c, int i, int j) {

char temp;

temp = c[i];

c[i] = c[j];

c[j] = temp;

}

}

網(wǎng)站題目:c語言字符排序函數(shù) c++語言字符串排序方法
分享地址:http://chinadenli.net/article28/doddijp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)網(wǎng)站排名、App設(shè)計(jì)、云服務(wù)器、虛擬主機(jī)域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營