2013-11-09 71 views
0

我有一個具有結構字符串數組像這樣:剝線非數字字符串元素

arr[0] = "AB82374892"; 
    arr[1] = "QBA9980309"; 
    arr[2] = "AC00098320";   

等。

如何從每個數組元素中刪除每個非數字字符串元素?因此,上述數組變爲:

arr[0] = "82374892"; 
    arr[1] = "9980309"; 
    arr[2] = "00098320"; 

目標是獲取僅數字字符串,以便可以高效地執行字典級別排序。

+0

使用[因而isalpha()](HTTP://linux.die。 net/man/3/isalpha)來分類每個字符數組的字符。 –

回答

0

對於每個字符串,請使用兩個指針 - 寫入器和讀取器。

  • 迭代閱讀器指針在數組上 - 如果元素不是數字,只增加它。
  • 如果元素是數字 - 寫入並增加兩個指針。

僞代碼:

writer = reader = 0 
while reader < n: 
    if arr[reader] is numeric: 
     arr[writer++] = arr[reader++] 
    else: 
     reader++ 

(不要忘了一個空終止添加到每個字符串)