二维阵列的升序,不工作..?

时间:2018-03-29 23:26:08

标签: c multidimensional-array bubble-sort

我正在尝试将SELECT dm_ws.wait_duration_ms, dm_ws.wait_type, dm_es.status, dm_t.TEXT, dm_qp.query_plan, dm_ws.session_ID, dm_es.cpu_time, dm_es.memory_usage, dm_es.logical_reads, dm_es.total_elapsed_time, dm_es.program_name, DB_NAME(dm_r.database_id) DatabaseName, -- Optional columns dm_ws.blocking_session_id, dm_r.wait_resource, dm_es.login_name, dm_r.command, dm_r.last_wait_type FROM sys.dm_os_waiting_tasks dm_ws INNER JOIN sys.dm_exec_requests dm_r ON dm_ws.session_id = dm_r.session_id INNER JOIN sys.dm_exec_sessions dm_es ON dm_es.session_id = dm_r.session_id CROSS APPLY sys.dm_exec_sql_text (dm_r.sql_handle) dm_t CROSS APPLY sys.dm_exec_query_plan (dm_r.plan_handle) dm_qp WHERE dm_es.is_user_process = 1 数组输出到升序中。

我已将其输出到用户输入的顺序中。但无法将其打印到升序。

  • 任何人都可以帮忙解决这个问题或知道解决方案吗?对于有关代码的任何问题,我的代码如下所示。

    2D

2 个答案:

答案 0 :(得分:0)

首先使用冒泡排序算法

for(int i=0; i<size; ++i)
{
    for(int j=i+1; j<size; ++j)
    {
        if(a[i]>a[j]))
        {
            int temp=a[i];
            a[i]=array[j];
            a[j]=temp;
        }
    }
}

然后按升序打印数组。

尝试以自己的方式应用,可以使用数组连续性等数组的某些功能。

int *ptr=a; 

相同
*(ptr+i), *(ptr+j)

答案 1 :(得分:0)

要使用简单的一维2D来排序for(k =0; k< 2; k++) { for (i = 0; i < 3; i++) { for (j = i+1; j < 3; ++j) { if (a[k][i] > a[k][j]) { int swap = a[k][i]; a[k][i] = a[k][j]; a[k][j] = swap; } } } } 数组,您必须添加另一个循环来处理行。

在你的情况下:

#include <stdio.h>

int main(void) {
    /* 2D array declaration and size of each Array in the Programme*/
    int a[2][3];
    printf ("***** Bubble Sort Assessment 2 ***** \n");
    /*Counter variables for the loop*/
    int i, j, k;
    for(i=0; i<2; i++)
    {
        for(j=0; j<3; j++)
        {
            printf("Enter numeric values for each Array [%d][%d]: \n", i, j);
            scanf("%d", &a[i][j]);
        }
    }
    /*Displaying array elements*/
    printf("\n The 2-D Array contains : \n");
    for(i=0; i<2; i++)
    {
        for(j=0; j<3; j++)
        {
            printf("%d " , a[i][j]);
            if(j==2)
            {
                printf("\n");
            }
        }
    }
    // SORT: 
    for( k = 0; k< 2; k++) {
       for ( i = 0; i < 3; i++) {
            for ( j = i+1; j < 3; ++j) {
               if (a[k][i] > a[k][j])  {
                   int swap = a[k][i];
                   a[k][i] = a[k][j];
                   a[k][j] = swap;
                }
            }
        } 
    }

    printf("\n\nAscending : ");
    printf("\n The 2-D Array contains : \n");
    for(i=0; i<2; i++)
    {
        for(j=0; j<3; j++)
        {
            printf("%d " , a[i][j]);
            if(j==2)
            {
                printf("\n");
            }
        }
    }

    return 0;
}

该计划:

***** Bubble Sort Assessment 2 *****                                                                                                           
Enter numeric values for each Array [0][0]:                                                                                                    
1                                                                                                                                              
Enter numeric values for each Array [0][1]:                                                                                                    
0                                                                                                                                              
Enter numeric values for each Array [0][2]:                                                                                                    
2                                                                                                                                              
Enter numeric values for each Array [1][0]:                                                                                                    
5                                                                                                                                              
Enter numeric values for each Array [1][1]:                                                                                                    
4                                                                                                                                              
Enter numeric values for each Array [1][2]:                                                                                                    
3                                                                                                                                              

 The 2-D Array contains :                                                                                                                      
1 0 2                                                                                                                                          
5 4 3                                                                                                                                          


Ascending :                                                                                                                                    
 The 2-D Array contains :                                                                                                                      
0 1 2                                                                                                                                          
3 4 5

输出:

protected function protocolWithActiveSsl($protocol)
{
    $protocol = strtolower((string)$protocol);

    return in_array($protocol, ['on', '1', 'https', 'ssl', 'https, https'], true);
}