1、陣列物件
@echo offset objlength=2
set obj[0].name=test1
set obj[0].password=1234
set obj[1].name=test2
set obj[1].password=9876
set objindex=0
:loopstart
if %objindex% equ %objlength% goto end
set objcurrent.name=0
set objcurrent.password=0
for /f "usebackq delims==. tokens=1-3" %%i in (`set obj[%objindex%]`) do (
set objcurrent.%%j=%%k
echo 第乙個=%%i
echo 第二個=%%j
echo 第三個=%%k
解析:
@echo off2、簡單陣列::規定陣列長度
set objlength=2
::給陣列設值
set obj[0].name=test1
set obj[0].password=1234
set obj[1].name=test2
set obj[1].password=9876
::初始索引
set objindex=0
::迴圈
:loopstart
::判斷索引值是否大於陣列長度,大於的話跳到結束,不大於的話繼續迴圈
if %objindex% equ %objlength% goto end
::初始化變數
set objcurrent.name=0
set objcurrent.password=0
::這個迴圈是陣列物件處理迴圈,就是處理單個物件。/f是引數格式 usebackq宣告路徑有空格
::delims==.是以=和.切割字串,tokens=1-3是取切割後字串的前1到3個,%%i表示第乙個字串【比如:obj[0]】,%%j表示第二個字串【比如:password】,%%k表示第三個字串【比如:1234】,`set obj[%objindex%]`和/f取到字串【比如:obj[0].password=1234】
for /f "usebackq delims==. tokens=1-3" %%i in (`set obj[%objindex%]`) do (
:: 賦值變數
set objcurrent.%%j=%%k
echo 第乙個=%%i
echo 第二個=%%j
echo 第三個=%%k
)echo name=%objcurrent.name%
echo password=%objcurrent.password%
::索引+1
set /a objindex=%objindex% + 1
::繼續迴圈
goto loopstart
:end
pause
@echo off::規定陣列長度
set objlength=3
::給陣列設值
set obj[0]=test1
set obj[1]=test2
set obj[2]=9876
::初始索引
set objindex=0
::迴圈
:loopstart
::判斷索引值是否大於陣列長度,大於的話跳到結束,不大於的話繼續迴圈
if %objindex% equ %objlength% goto end
::初始化變數
set objcurrent=0
::這個迴圈是陣列物件處理迴圈,就是處理單個物件。/f是引數格式 usebackq宣告路徑有空格
::delims==是以=切割字串,tokens=1-3是取切割後字串的前1到3個,%%i表示第乙個字串【比如:obj[0]】,%%j表示第二個字串【比如:test2】,`set obj[%objindex%]`和/f取到字串【比如:obj[0]=test2】
for /f "usebackq delims== tokens=1-2" %%i in (`set obj[%objindex%]`) do (
:: 賦值變數
set objcurrent=%%j
echo 第乙個=%%i
echo 第二個=%%j
)echo objcurrent=%objcurrent%
::索引+1
set /a objindex=%objindex% + 1
::繼續迴圈
簡化版
@echo off & setlocal enabledelayedexpansionset obj[0]=test1
set obj[1]=test2
set obj[2]=9876
set obj[3]=wwww
set objcurrent=0
for /l %%a in (0,1,3) do (
for /f "usebackq delims== tokens=1-2" %%i in (`set obj[%%a]`) do (
echo 第乙個=%%i
echo 第二個=%%j
或
@echo off & setlocal enabledelayedexpansionset obj[0]=test1
set obj[1]=test2
set obj[2]=9876
set obj[3]=wwww
set objcurrent=0
for %%a in (0,1,2,3) do (
for /f "usebackq delims== tokens=1-2" %%i in (`set obj[%%a]`) do (
echo 第乙個=%%i
echo 第二個=%%j
set objcurrent=%%j
)echo objcurrent=!objcurrent!
)pause
陣列實現迴圈佇列
1 動態陣列型別 typedef struct qnode queue 1 分配結構體內存與陣列記憶體 queue initialize1 相應main函式 int main 2 只分配陣列記憶體不分配結構記憶體 int initialize2 queue q 相應main函式 int main 2...
迴圈陣列實現佇列
佇列是先進先出 fifo 模式,從隊尾加入元素的操作叫入隊,從隊首刪除元素的操作叫出隊 設定兩個指標分別為front指向隊首,real指向隊尾。開始時front和real分別為 1。當有元素入隊時real 1 當有元素出隊時front 1.public class queuesimulation s...
迴圈佇列 陣列實現
迴圈佇列是指,隊尾指標走到末尾後,還可以繼續從頭開始走.front指標仍然是指向第乙個元素的前乙個元素,rear指標指向最後乙個元素.下面我們重點討論一下迴圈佇列如何判斷空和滿的問題?判斷佇列空和滿是直接根據q length屬性來判斷,當q length為0,表示隊列為空,當q length max...