字串的應用

2021-04-20 05:20:58 字數 1506 閱讀 8711

對解決非數值的問題,主要設計到的操作物件是字串,簡稱串。

對串的儲存可以又兩種處理方式:一種是將串定義成字元型陣列,串的儲存空間分配在編譯是完成,不能更改,這種方式稱為串的靜態儲存結構; 另外一種是串的儲存空間在程式執行時動態分配,這種方式稱為串的動態儲存結構。

串的鏈式儲存結構是包含資料域和指標域的節點結構。其中資料域用來儲存字元,指標域儲存指向下乙個節點的指標,這樣的乙個串可以用乙個單鏈表來表示。

用單鏈表存放字串,若每個節點僅放乙個字元,則每個節點的指標域所棧儲存空間比資料域所佔儲存空間要大的多。為了節省空間,可使每個節點存放若干個字元,這稱職位塊鏈結構。顯然塊鏈結構的儲存密度高於乙個節點儲存乙個字元的鍊錶結構。通常,串的鏈式儲存結構多採用塊鏈結構。具體例子如下(對每行資料進行操作):

#include

#include

#define max 100

#define data_max 80

typedef struct node

nodetype;

typedef struct head

headtype;

headtype head[max];

void initial();

int menuselect();

void enterdata();

void deleteline();

void list();

void clearbuffer();

int main()  }

}void clearbuffer()

void initial()

return i;

}void enterdata()

i = linenumber;

head[i].num = linenumber;

head[i].next = ( nodetype *)malloc( sizeof( nodetype));

p = head[i].next;

m = 1;

j = -1;

strbuffer[0] = 0;

k = 0;

doif(j>= data_max*m)

p->data[j%data_max] = strbuffer[k++];

}while(p->data[j%data_max] != '@');

head[i].len = j;}}

void deleteline()

i = linenumber;

p = head[i].next;

m = 0;

if(head[i].len> 0)

for(j = 0; jnext;

free(p);

p = q;

}head[i].len = 0;

head[i].num = 0;} }

void list()

else

}printf("/n");

}  }

printf("/n");

}

字串的應用

字串在我們編碼的過程中是必不可少的乙個元素,我們或多或少的要對字串進行一些使用,那麼使用過程中就會需要不同的方法來實現我們的需求 這些方法使用的恰當的話,會使我們程式編譯更加輕鬆和快捷 下面介紹幾種方法,和例項的應用 charat 返回指定下標的字元,由乙個char型別接收 indexof 和las...

字串應用

define crt secure no warnings include include sprintf的作用 生成乙個指令,把他對映到字串裡,對他初始化 void main1 int num char op 30 scanf d s num,op sprintf str,for l i in 1...

字串應用

var str abcdef alert str 0 aalert str.charat 1 b var str 我是乙個字串 alert str.charcodeat 0 utf 8編碼 字串的indexof var str abac?def alert str.indexof 找第一次出現的位置...