常用算法整理04

Posted C思计

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用算法整理04相关的知识,希望对你有一定的参考价值。

1. 除字符串前导和尾部的*号外,将串中其他的*号全部删除。

方法一:

int n,m,i,j=0;

n=h-a;//n变量存放的是前导*号的个数

m=p-a;//m变量存放的是除去尾部*号及其前一个字符以外的字符长度

for(i=n;i<=m;i++)

{

if(a[i]!='*')

{

a[n+j]=a[i];

j=j+1;

}

}

n=n+j;//此时n变量中存放的是删除中间*号后剩下的字符长度

for(i=m+1,j=0;a[i]!='\0';i++)

{

a[n+j]=a[i];

j++;

}

a[n+j]='\0';

方法二:

int n,m,i,j=0;

n=h-a;//n变量存放的是前导*号的个数

m=p-a;//m变量存放的是除去尾部*号及其前一个字符以外的字符长度

for(i=n;a[i]!='\0';i++)

{

if(a[i]!='*'&&i<=m)

{

a[n+j]=a[i];

j=j+1;

}

else if(i>m)

{

a[n+j]=a[i];

j=j+1;

}

 

}

a[n+j+1]='\0';

方法三:

int i=0;

char *q=a;

while(q<h)

{

a[i]=*q;

q++;

i++;

}

while(q<p)

{

if(*q!='*')

{

a[i]=*q;

i++;

}

q++;

}

while(*q)

{

a[i]=*q;

i++;

q++;

}

a[i]='\0';

2. 插入字符

int I,j,n;

for(i=0;s[i]!=’\0’;i++)

  if(s[i]>=’0’&&s[i]<=’9’)

  {

n=0;

while(s[i+1+n]!=0)

   n++;

for(j=1+n+I;j>I;j--)

   s[j+1]=s[j];

s[j+1]=’*’;

i=i+1;

}


以上是关于常用算法整理04的主要内容,如果未能解决你的问题,请参考以下文章

常用算法整理03

java刷算法题常用方法整理

常用算法整理02

算法:常用排序算法

js常用的算法整理

[编程 | Phthon | 02] Python3常用算法整理