#include <string.h>
// 将str字符以spl分割,存于dst中,并返回子字符串数量
int split(char dst[][80], char* str, const char* spl)
{
int n = 0
char *result = NULL
result = strtok(str, spl)
while( result != NULL )
{
strcpy(dst[n++], result)
result = strtok(NULL, spl)
}
return n
}
int main()
{
char str[] = "what is you name?"
char dst[10][80]
int cnt = split(dst, str, " ")
for (int i = 0 i < cnt i++)
puts(dst[i])
return 0
}
//以下解法的前提是,先把所有环变成1.无环路,2.一个环没有扣住3个及以上的其他环void main(){
int array[16] = {0}
//init, array[1] = xxx根据输入初始化数组,如1-2,则,array[1] = 2,...
int HashArray[16] = {0}
int head, tail
int head_tmp, tail_tmp
getNextList(array, HashArray, head, tail)
while(getNextList(array, HashArray, head_tmp, tail_tmp))
{
array[tail] = head_tmp
tail = tail_tmp
}
//此时的array数组里面应该是一条链了
}
getNextList(int array[], int Hasharray, int & head, int & tail)
{
int head_tmp = 1
while(Hasharray[head_tmp++] != 0)
if (head_tmp == 16)
return false
else
{
head = tail = head_tmp - 1
while(array[tail] != 0)
{
Hasharray[tail] = 1
tail++
}
Hasharray[tail] = 1
return true
}
}