當前位置:首頁 » 操作系統 » 字元反轉演算法

字元反轉演算法

發布時間: 2022-11-02 09:14:42

c語言中如何實現字元串的反轉

#include<stdio.h>
#include<string.h>

string_change(char*p)
{
inti,len;
chartemp;
len=strlen(p);

//printf("%d ",len);
//testprintf("%d ",len);

for(i=0;i<(len/2);i++)
{
temp=p[i];
p[i]=p[len-1-i];
p[len-1-i]=temp;
}
}

intmain(void)
{
chara[20]="1234567890";

printf("%s ",a);
string_change(a);
printf("%s ",a);

return0;
}

兩個明顯的誤解:

  1. char* a="12***"; 這樣定義是錯誤的。這樣 a指向字元串常量的指針。而字元串常量是不能改變的。所以停止運行。

  2. c中數組是從0開始編號的。所以字元串最後一個字元是a[len-1];

java如何實現字元串的反轉及替換

反轉:
public class test{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("請輸入:");
String s1 = input.nextLine();//得到輸入的字元串
System.out.print("翻轉後:");
for(int i=s1.length()-1;i>=0;i--){
System.out.print(s1.charAt(i));
}
}
}
或者
import java.util.*;
public class StringChange{
public static void main(String[] args){
System.out.println("Please enter the String:");
String str = new Scanner(System.in).nextLine(); //輸入字元串
String s2[] = str.split("\\s"); // \s 以空格為分隔符拆分字元串,並保存到數組s2裡面
for (int i = s2.length-1; i >= 0; i--) { //反向輸出數組
System.out.print(s2[i]+" ");
}
}
}

Ⅲ Shell中字元串反轉的幾種技巧

第一步首先打開電腦裡面的eclipse軟體,創建java項目和類,如下圖所示:

第二步在類中輸入如下代碼進行測試實現字元串反轉:
public static String reverse1(String s){
char []array=s.toCharArray();
String resever="";
for(int i=array.length-1;i>=0;i--){
resever+=array[i];
}
return resever;
}

第三步點擊運行,可以看到字元串已經實現反轉了,如下圖所示:

第四步我們也可以使用jdk自帶的方法,如下代碼:
public static String reverse2(String s) {
return new StringBuffer(s).reverse().toString();
}

5
第五步進行運行測試,可以看到方法一和方法二都實現了字元串反轉的功能,如下圖所示:

Ⅳ 如何快速將字元串反轉

使用 StringBuilder 或者 stringBuffer 的 reverse() 方法。以上就是我在黑馬程序員學Java的時候老師教給我的,分享給你!很高興您能一直採納我的回答,希望一直為您提供幫助

演算法:將url字元串反轉

解題思路:1)先將字元串URL用「.」進行分割,產生一個字元串數組

                  2)對字元串中的數組中的每一個數組元素進行反轉

 坑點 :「.」

在正則表達式中,「.」是具有特殊意義的元字元,能夠匹配除了換行符之外的所有的單個字元,如果使用split(".")將得到含有0個元素的數組

In regular expression, the "." is a metacharacter with special meaning which matches any single character except a newline. You got an array with zero element because "." mataches any charachers in your string.

字元串分割

Ⅵ C語言 字元串反轉函數(不使用庫函數)

char *revstr(char *str, size_t len)
{

char *start = str;
char *end = str + len - 1;
char ch;

if (str != NULL)
{
while (start < end)
{
ch = *start;
*start++ = *end;
*end-- = ch;
}
}
return str;
}

Ⅶ 如何用遞歸的方法將字元串進行反轉

偽代碼:

字元串反轉(字元串s){
if(s的長度大於1){
returns的最後一個字元+反轉(s去掉最後一個字元後剩下的部分);
}else{
returns;
}
}

Ⅷ 如何讓一個字元串反轉

package com;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;

public class StringReverse {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String string = " ";

StringBuffer retBuffer = new StringBuffer("");

/*
* 方法一
*/
try {
string = br.readLine();
} catch (IOException ex) {
System.out.println(ex);
}
char[] retChar = new char[string.length()];
for (int i = string.length() - 1, j = 0; i >= 0; i--, j++) {
retChar[j] = string.charAt(i);
}
System.out.println(String.valueOf(retChar));

/*
* 方法二
*/
StringBuffer sb = new StringBuffer(string);
System.out.println(sb.reverse().toString());

System.out.println(reverse(string));

}
/*
* 堆棧的方法反轉
*/
public static String reverse(String in) {
String input = in;
String output;
//執行反轉
Stack<Character> theStack = new Stack<Character>();

for (int j = 0; j < input.length(); j++) {
char ch = input.charAt(j);
theStack.push(ch);
}

output = "";
while (!theStack.isEmpty()) {
char ch = theStack.pop();
output = output + ch;
}
return output;

}

}

Ⅸ C語言字元串數組反轉相關的問題

c語言的問題字元串反轉可以使用下列兩種方法:
使用Array.Reverse方法
對於字元串反轉,我們可以使用.NET類庫自帶的Array.Reverse方法
public
static
string
ReverseByArray(string
original)
{
char[]
c
=
original.ToCharArray();
Array.Reverse(c);
return
new
string(c);
}
可以使用棧後進先出的特性來對數組進行反轉。先將數組所有元素壓入棧,然後再取出,順序很自然地就與原先相反了。
public
static
string
ReverseByStack(this
string
original)
{
Stack<char>
stack
=
new
Stack<char>();
foreach
(char
ch
in
original)
{
stack.Push(ch);
}
char[]
c
=
new
char[original.Length];
for
(int
i
=
0;
i
<
original.Length;
i++)
{
c[i]
=
stack.Pop();
}
return
new
string(c);
}

Ⅹ C語言反轉字元串怎麼反轉

讀取字元串,瀏覽字元串每一個字元,
如果是空格就輸出空格,
否則就保存當前位置,從當前位置移動到下一個空格或字元尾前,
從當前位置開始反向輸出,直達回到保存的位置
最後輸出回車,結束

//以下是C語言版的,需要的話,可以看看
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define String_MaxSize 10000 //讀入字元串的最大長度

int main()
{
char stringPtr[String_MaxSize]; //保存讀入的字元串
//循環讀取直到文件尾
while(gets(stringPtr))
{
int stringPtr_length = strlen(stringPtr); //字元串的長度
int i;
//循環讀取整段字元串
for(i = 0; i < stringPtr_length; i++)
{
//如果字元為空格
if(stringPtr[i] == ' ')
{
//直接輸出空格
printf(" ");
}
//如果字元非空格
else
{
int tempPos = i; //保存當前i的位置
int j; //代替i進行反向移動
//讀取到下一個空格或字元串尾的前一個位置
while(i < stringPtr_length && stringPtr[i] != ' ')
{
i++;
}
i--;
//輸出單詞
for(j = i; j >= tempPos; j--)
{
putchar(stringPtr[j]);
}
}
}
//輸出回車
printf("\n");
}
//輸出回車
printf("\n");
return 0;
}

熱點內容
蘋果手機如何退出ad密碼 發布:2025-05-13 19:35:24 瀏覽:352
資本論中央編譯局 發布:2025-05-13 19:21:50 瀏覽:134
python路徑是否存在 發布:2025-05-13 19:08:38 瀏覽:570
保時捷卡宴哪個配置比較好 發布:2025-05-13 19:00:08 瀏覽:725
c語言負數運算 發布:2025-05-13 18:45:21 瀏覽:428
太空殺電腦版連接不到伺服器 發布:2025-05-13 18:40:19 瀏覽:457
同樣的配置為什麼跑分不同 發布:2025-05-13 18:39:06 瀏覽:278
獲取linuxcpu序列號 發布:2025-05-13 18:36:35 瀏覽:738
appleid為什麼連接伺服器出現問題 發布:2025-05-13 18:17:37 瀏覽:972
書翁怎麼配置 發布:2025-05-13 18:17:36 瀏覽:911