📄 listnode.cpp
字号:
// ListNode.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <malloc.h>
#include "ListNode.h"
#define LEN sizeof(ListNode)
BOOL IsFiveItemsAdjac(int a[ARRAY_SIZE]);
BOOL IsItemExist(int a[ARRAY_SIZE] );
int main(int argc, char* argv[])
{
static ListNode *p1,*p2;
int Array[ARRAY_SIZE];
DWORD dwIndex = 0;
int i;
while ( dwIndex < 100) {
for (i=0; i<10; i++) {
Array[i] = rand() % 2;
}
if(!dwIndex) {
if( !IsFiveItemsAdjac(Array) ) {
header = (ListNode *)malloc( LEN );
memcpy( header->array,Array,ARRAY_SIZE*sizeof(int) );
header->dwIndex = dwIndex;
// memcpy( (DWORD)(header->dwIndex),dwIndex,sizeof(int) );
dwIndex++;
p1 = header;
p2 = NULL;
header->next = NULL;
}
}
else {
if( !IsItemExist(Array) && !IsFiveItemsAdjac(Array) ) {
//Add the item to the list!
p2 = (ListNode *)malloc( LEN );
memcpy( p2->array,Array,ARRAY_SIZE*sizeof(int) );
p2->dwIndex = dwIndex;
// memcpy( (DWORD)(p2->dwIndex),dwIndex,sizeof(int) );
p2->next = NULL;
p1->next = p2;
p1 = p2;
dwIndex++;
}
}
}
ListNode *temp ;
temp = header;
while (temp != NULL) {
for (i=0 ;i<10; i++)
printf("%d,",temp->array[i] );
printf("\n");
temp = temp->next;
}
printf("End!\n");
return 0;
}
BOOL IsItemExist(int a[ARRAY_SIZE] ) {
ListNode *temp;
BOOL b_Exist = FALSE;
temp = header;
while ( temp != NULL ) {
if( !memcmp(temp->array,a,LEN*sizeof(int) ) ) {
b_Exist = TRUE;
break;
}
temp = temp->next;
}
return b_Exist;
}
BOOL IsFiveItemsAdjac(int a[ARRAY_SIZE])
{
int ZeroArray[5] = {0,0,0,0,0};
int OneArray[5] = {1,1,1,1,1};
int Array60[6] = {0,0,0,0,0,0};
int Arry61[6] = {1,1,1,1,1,1};
// int 6OneArray[6];
// int ZeroArray[5]; //= {0,0,0,0,0};
// int OneArray[5]; //= {1,1,1,1,1};
// int 6ZeroArray[6]; //= {0,0,0,0,0,0};
// int 6OneArray[6]; //= {1,1,1,1,1,1};
if( (!memcmp(a,ZeroArray,5*sizeof(int)) &&
memcmp(a,Array60,6*sizeof(int)) ) ||
( !memcmp(a,OneArray,5*sizeof(int)) &&
memcmp(a,Arry61,6*sizeof(int)) ) )
return TRUE;
else
return FALSE;
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -