Example #1
0
int main() {
    int rn = 7, cn = 3;
    int** m = (int**) malloc(sizeof(int*)*rn);
    int m0[] = {1, 2, 3};
    int m1[] = {4, 5, 6};
    int m2[] = {7, 8, 9};
    int m3[] = {10, 11, 12};
    int m4[] = {13, 14, 15};
    int m5[] = {16, 17, 18};
    int m6[] = {19, 20, 21};
    int* ans = NULL;
    int i = 0;
    m[0] = m0;
    m[1] = m1;
    m[2] = m2;
    m[3] = m3;
    m[4] = m4;
    m[5] = m5;
    m[6] = m6;
    ans = spiralOrder(m, rn, cn);
    for (i = 0; i < rn*cn; i ++)
        printf("%d ", ans[i]);
    printf("\r\n");
    free(m);
}
Example #2
0
int main()
{
    int i, j, n;
    int **m;
    while (~scanf("%d", &n)) {
        m = malloc(sizeof(int*) * (n));
        for (i = 0; i < n; ++i) {
            m[i] = malloc(sizeof(int) * (n));
            for (j = 0; j < n; ++j) {
                scanf("%d", &m[i][j]);
            }
        }

        print_matrix(m, n);
        int *ans = spiralOrder(m, n, n);
        for (i = 0; i < n*n; ++i) {
            printf("%d ", ans[i]);
        }
        printf("\n");
        free(ans);
        free_matrix(m, n);
    }

    return 0;
}
Example #3
0
int main(int argc, char *argv[])
{
	int *matrix[100] = {0};
	int line1[10] = {1,2,3,4,5,6,7,8,9,10};
	matrix[0] = line1;
	int *ret = spiralOrder(matrix, 1, 10);

	return 0;
}
Example #4
0
int main(int argc, char **argv)
{
    int i, j, count = 0;
    int row = 3;
    int col = 3;
    int **mat = malloc(row * sizeof(int *));
    for (i = 0; i < row; i++) {
        mat[i] = malloc(col * sizeof(int));
        for (j = 0; j < col; j++) {
            mat[i][j] = ++count;
            printf("%d ", mat[i][j]);
        }
        printf("\n");
    }
    int *nums = spiralOrder(mat, row, col);
    for (i = 0; i < row * col; i++) {
        printf("%d ", nums[i]);
    }
    printf("\n");
    return 0;
}
Example #5
0
void main( void ) {
	int i,j;
	int m=3,n=3;
	int **arr = (int **) malloc(sizeof(int*)*m);
	for (i = 0; i < m; i++)
		arr[i] = (int *) malloc(sizeof(int)*n);
	int index=1;
	//initialize
	for( i =0 ; i < m ; i++ ) {
		for (j = 0 ; j < n ; j++) {
			arr[i][j] = index++;
		}
	}
	int* gg = spiralOrder(arr,m,n);
	for( i = 0 ; i < m*n ; i++ )
		printf("%d ", gg[i]);
	puts("");
	//free
	free(gg);
	for(i=0; i < m ; i++) 
		free(arr[i]);
	free(arr);
	
}
Example #6
0
int main(void){
	int m,n;
	while(scanf("%d%d",&m,&n)!=EOF&&m>0&&n>0){
		int **arr=(int **)malloc(m*sizeof(int *));
		if(arr==NULL){
			exit(EXIT_FAILURE);
		}
		for(int i=0;i<m;i++){
			arr[i]=(int *)malloc(n*sizeof(int));
			if(arr[i]==NULL){
				exit(EXIT_FAILURE);
			}
			for(int j=0;j<n;j++){
				scanf("%d",&arr[i][j]);
			}
		}
		int *result=spiralOrder(arr,m,n);
		for(int k=0;k<m*n;k++){
			printf("%d  ",result[k]);
		}
		printf("\n");
	}
	return 0;
}
Example #7
0
int main()
{
    s *root=NULL;
    root=create('A');
    root->left=create('B');
    root->right=create('C');
    root->left->left=create('D');
    root->left->right=create('E');
    root->left->right->left=create('I');
    root->left->right->right=create('J');
    root->left->right->right->left=create('K');
    root->right->left=create('F');
    root->right->right=create('G');
    root->right->right->left=create('H');
    int n,num,h;
    while(1)
    {
        printf("1. All possible paths\n");
        printf("2. Height of the tree\n");
        printf("3. In Order\n");
        printf("4. Level Order\n");
        printf("5. Spiral Order\n");
        printf("6. Exit\n");
        printf("\nSelect an option: ");
        scanf("%d",&num);
        system("cls");
        switch(num)
        {
            case 1: allPath(root,0);
                    getch();
                    system("cls");
                    break;
            case 2: h= height(root);
                    printf("height = %d ",h);
                    getch();
                    system("cls");
                    break;
            case 3: inOrder(root);
                    printf("end");
                    getch();
                    system("cls");
                    break;

            case 4: printf("Enter the level you want to print: ");
                    scanf("%d",&n);
                    levelOrder(root,n);
                    printf("end");
                    getch();
                    system("cls");
                    break;

            case 5: spiralOrder(root,height(root));
                    getch();
                    system("cls");
                    break;

            case 6: exit(0);

            default: printf("Invalid Input!!");
                     getch();
                     system("cls");
        }
    }
    return 0;