首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

容易开辟双重空间 什么文件看看速度

2013-04-07 
简单开辟双重空间 什么文件看看速度/** File:main.c * Author: chujiangke * * Created on 2013年4月2日,

简单开辟双重空间 什么文件看看速度
/* 
 * File:   main.c
 * Author: chujiangke
 *
 * Created on 2013年4月2日, 下午8:48
 */

#include<stdio.h>
#include<stdlib.h>
struct Node
{
    char eng[11];
    char foreign[11];
    struct Node * next;
} ;
struct Hash_Table
{
 struct Node* value[65000];
} ;
int main()
{
    struct Hash_Table * hush=(struct Hash_Table*)malloc(sizeof(struct Hash_Table));
    int i;
    for(i=0;i<65000;i++)
    {
        (* hush).value[i]=(Node*)malloc(sizeof( Node));
        scanf("%s",(*hush).value[i]->eng);
        scanf("%s",(*hush).value[i]->foreign);
      
    }
    return 0;
}
[解决办法]

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>

struct Node
{
    char eng[11];
    char foreign[11];
    struct Node * next;
} ;
struct Hash_Table
{
    int len;
 struct Node* value[65000];
} ;
int main()
{
    struct Hash_Table * hush=(struct Hash_Table*)malloc(sizeof(struct Hash_Table));
    hush->len = 0;
    int i;
    char *str;
    int count;
    int num;
    while (fgets(str, 11, stdin) != NULL) {
        hush->value[i]=(struct Node*)malloc(sizeof(struct Node));
        num = (strlen(str)-1)>11 ? 11 : (strlen(str)-1);
        strncpy(hush->value[i]->eng, str, num);
        strncpy(hush->value[i]->foreign, str, num);
        hush->value[i]->eng[num] = '\0';
        hush->value[i]->foreign[num] = '\0';
        hush->len++;
        /*printf("len is %d\n", hush->len);*/
        /*printf("str is %s", hush->value[i]->eng);*/
        /*printf("str is %s", hush->value[i]->foreign);*/
        i++;
    }
    for(i=0;i<hush->len;i++) {
        printf("value is %s\n", hush->value[i]->eng);
        printf("value is %s\n", hush->value[i]->foreign);
    }
    return 0;


}


修改并测试了你的代码,读取30897行数据,用时
real0m1.812s
user0m0.036s
sys0m0.168s

热点排行