第八週 專案2-順序表演算法
#include<bits/stdc++.h>
#include"../順序串演算法庫/shunxuchuan.h"
using namespace std;
void trans(sqstring *&s,char c1,char c2)///將串s中所有值為c1的字元換成值為c2的字元
{
int i;
if(s->length>0)///這個沒啥好說的
{
for(i=0;i<s->length;i++)
if(s->data[i]==c1)
s->data[i]=c2;
}
}
void daoguolai(sqstring &s)///OK
{
int i,k;
char te;
if(s.length>0)
{
k=s.length-1;
for(i=0;i<s.length/2;i++)///就地逆置
{
te=s.data[i];///經典的寫法,設定一箇中間變數
s.data[i]=s.data[k];
s.data[k]=te;
k--;
}
}
}
void shanqu(sqstring &s,char c)///OK
{
int i,j,k=0;
if(s.length>0)
{
for(i=0;i<s.length;i++)
{
if(s.data[i]==c)
{
k++;///一開始忘了計數,因為字串的長度變了
for(j=i;j<s.length;j++)
s.data[j]=s.data[j+1];
}
}
}
s.length=s.length-k;
}
sqstring gonggong(sqstring s1,sqstring s2)///感覺老師的敘述比較模糊,容易讓人產生誤解,不知道到底怎麼求子串
{
int i,j,k=0;
sqstring s3;
for(i=0;i<s1.length;i++)
{
for(j=0;j<s2.length;j++)
if(s1.data[i]==s2.data[j])///感覺我這樣寫更好看呀,當然也有可能是我寫錯了
{
s3.data[k]=s1.data[i];
k++;
break;
}
}
s3.length=k;
return s3;
}
int main()
{
sqstring s,s1,s2,s3,s4;
sqstring *t;
char a[100],b[100],c[100];
gets(a);
jianchuan(s,a);
display(s);
t=&s;
trans(t,'t','d');
display(s);
daoguolai(s);
display(s);
shanqu(s,'a');
display(s);
gets(b);
gets(c);
jianchuan(s1,b);
jianchuan(s2,c);
s3=gonggong(s1,s2);
display(s3);
return 0;
}
相關文章
- 第三週專案2-建設“順序表”演算法庫演算法
- 第八週 專案1-建立順序串的演算法庫演算法
- 第五週 專案1 建立順序棧演算法庫演算法
- 第七週 專案一 建立順序環形佇列佇列
- 第三週 專案1 順序表的基本運算
- 順序表應用2:多餘元素刪除之建表演算法演算法
- 第三週專案1 順序表的基本運算(3)
- 大型專案開發: 標頭檔案順序
- Windows XP 指定啟動專案的順序(轉)Windows
- struts檔案配置順序
- SpringBoot配置檔案優先順序載入順序Spring Boot
- PMO兩大要務:專案選擇與優先順序排序,助力專案成功排序
- 第八週
- 第八週(11.04-11.10)----結對專案----逆波蘭
- 寒假專案2-猴子選大王
- 調整陣列元素順序演算法陣列演算法
- 暑假第八週
- 圖解React的生命週期及執行順序圖解React
- 演算法題———————輸入棧的入棧順序和出棧順序判斷是否合理演算法
- Hyperf 完整專案-2-服務限流
- 順序表
- python運算子及優先順序順序Python
- 第2章 順序表及其順序儲存
- 如何確定六西格瑪專案改善課題的優先順序?
- Vue 基礎篇(四):父子元件的生命週期順序Vue元件
- 第八週週一
- 第八週總結
- 第八週作業
- 優先順序點陣圖演算法詳解演算法
- 等級+時間的優先順序演算法演算法
- 第2周專案2-長方柱類
- 順序表應用5:有序順序表歸併
- 順序表應用6:有序順序表查詢
- 線性表演算法實現演算法
- web.xml 檔案 配置載入順序WebXML
- [springboot]配置檔案載入順序Spring Boot
- 順序查詢
- UML順序圖