求C穷举2-6位字符串代码

清风道禅 2010-01-04 05:13:29
求高手给一份高效率穷举小写字母的算法 2-6位的 谢谢
...全文
209 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
BABY 2010-01-05
  • 打赏
  • 举报
回复
该封……
lusure 2010-01-05
  • 打赏
  • 举报
回复
这题有啥意义啊?还能有这么多回帖。汗!~又不是设计cpu。。
ZXW0521 2010-01-05
  • 打赏
  • 举报
回复
做个字母表 tab[length]
比如 0~9,a~z,A~Z,还有其它一些字符,

for (int i = 0; i < length(字母表大小); i++)//第一位
{
str[0] = tab[i];
。。。。。。。。。。。。。。//迭代第 2~6位,

}
mstlq 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 selooloo 的回复:]
来个非递归的版本,只试了2-4位的,文本文档有4M多,感觉再大用文本文档存也没意义了,存了也打不开

[/Quote]
6位有可能超2g……
selooloo 2010-01-05
  • 打赏
  • 举报
回复
来个非递归的版本,只试了2-4位的,文本文档有4M多,感觉再大用文本文档存也没意义了,存了也打不开

#include <stdio.h>
#include <stdlib.h>
#define SIZE 4//一次写入文件的大小
typedef struct{
char word[7];
}Word;
Word *pw;
FILE *fp;
unsigned long total=0;
void Chose(int n,int m)
{
int *num,i,j,m1=0;

num=(int *)calloc(n,sizeof(int));
while(num[0]<m)
{
for(i=0;i<n;i++)
pw[total].word[i]=num[i]+'a';
//printf("%s\n",pw[total].word);
if(total==SIZE)
{
fwrite(pw,sizeof(Word),SIZE,fp);
total=0;
}
for(j=n-1;j>=1;j--)
{
m1=(j<n-1)?(m1+1):(m-2);
if(m1>=m)
m1=m-1;
if(num[j]>m1)
{
num[j-1]++;
num[j]=0;
}
else if(j==n-1)
num[j]++;
}
total++;
}
free(num);
}

int main(void)
{
int i;
pw=(Word *)calloc(SIZE,sizeof(Word));
fp=fopen("d:\\穷举结果.txt","w"); //结果保存在d:\\穷举结果.txt里
for(i=2;i<=6;i++)
Chose(i,26);
if(total<=SIZE)
fwrite(pw,sizeof(Word),SIZE,fp);
free(pw);
fclose(fp);
getchar();
return 0;
}
cattycat 2010-01-05
  • 打赏
  • 举报
回复
这个循环本身不会花多少时间,写到文件中,io性能影响比较大,可以先将部分结果缓存起来,一次写比较大的数据块,频繁fputs效率不好。
lqbk1 2010-01-05
  • 打赏
  • 举报
回复
把从aa到zzzzz输出到txt文档,我的电脑用时2.5秒……
六位的,我电脑没那么大磁盘空间,不试了……
速度估计在2.5*26=47秒左右


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

#define VI(q) data[q]='\n',data[q+1]='\0',visit(data,fp)
#define IR(i) for(data[i]='a';data[i]<='z';++data[i])
#define IFR(i) for(data[i]='a';data[i]<='z' || data[i]=='z'+1 && (VI(i)) ;++data[i])

int visit(const char* data,FILE *fp){fputs(data,fp);return 0;};

int main(void)
{
FILE *fp=fopen("c:\\ret.txt","w");
char *data=calloc(8,1);
/*5位字符做示范*/
IR(0) IR(1) IFR(2) IFR(3) IFR(4) VI(5);
/*下面是6位的版本*/
/*IR(0) IR(1) IFR(2) IFR(3) IFR(4) IFR(5) VI(6);*/
free(data);
fclose(fp);
return 0;
}
mstlq 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 neumik 的回复:]
引用 14 楼 mstlq 的回复:
引用 12 楼 mstlq 的回复:
以下代码在我电脑上耗时
C/C++ code
Process returned0 (0x0)  execution time :1.453 s
Press any key tocontinue.
C/C++ code
#include <stdio.h>
#include <stdlib.h>#define IFR(i) for(data[i]='a';data[i] <='z' || data[i]=='z'+1 && (data[i]='\0',visit(data)) ;++data[i])int visit(constchar* data){return0;};int main(void)
{char*data=calloc(7,1);char i0,i1,i2,i3,i4,i5;
    data[6]='\n';for(data[0]='a';data[0] <='z';++data[0])for(data[1]='a';data[1] <='z';++data[1])
            IFR(2)
                IFR(3)
                    IFR(4)
                        IFR(5)
                        visit(data);

    free(data);return0;
}

禁止编译器优化的话……
运行时间

Process returned 0 (0x0)  execution time :3.375 s
Press any key to continue.


谢谢 14楼 我打算就是先生成再一次写入·分开写入会占据读写时间
[/Quote]

我怕你没那么多内存……
清风道禅 2010-01-05
  • 打赏
  • 举报
回复
再缓一缓看看是否还有更好的出现呵呵·下午5点结贴
清风道禅 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 lqbk1 的回复:]
把从aa到zzzzz输出到txt文档,我的电脑用时2.5秒……
六位的,我电脑没那么大磁盘空间,不试了……
速度估计在2.5*26=47秒左右

C/C++ code
#include<stdio.h>
#include<stdlib.h>#define VI(q) data[q]='\n',data[q+1]='\0',visit(data,fp)#define IR(i) for(data[i]='a';data[i]<='z';++data[i])#define IFR(i) for(data[i]='a';data[i]<='z' || data[i]=='z'+1 && (VI(i)) ;++data[i])int visit(constchar* data,FILE*fp){fputs(data,fp);return0;};int main(void)
{
FILE*fp=fopen("c:\\ret.txt","w");char*data=calloc(8,1);/*5位字符做示范*/
IR(0) IR(1) IFR(2) IFR(3) IFR(4) VI(5);/*下面是6位的版本*//*IR(0) IR(1) IFR(2) IFR(3) IFR(4) IFR(5) VI(6);*/
free(data);
fclose(fp);return0;
}
[/Quote]
谢谢15楼的代码,这个数据量确实不小呵呵·
清风道禅 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 mstlq 的回复:]
引用 12 楼 mstlq 的回复:
以下代码在我电脑上耗时
C/C++ code
Process returned0 (0x0)  execution time :1.453 s
Press any key tocontinue.
C/C++ code
#include <stdio.h>
#include <stdlib.h>#define IFR(i) for(data[i]='a';data[i] <='z' || data[i]=='z'+1 && (data[i]='\0',visit(data)) ;++data[i])int visit(constchar* data){return0;};int main(void)
{char*data=calloc(7,1);char i0,i1,i2,i3,i4,i5;
    data[6]='\n';for(data[0]='a';data[0] <='z';++data[0])for(data[1]='a';data[1] <='z';++data[1])
            IFR(2)
                IFR(3)
                    IFR(4)
                        IFR(5)
                        visit(data);

    free(data);return0;
}

禁止编译器优化的话……
运行时间

Process returned 0 (0x0)  execution time :3.375 s
Press any key to continue.

[/Quote]
谢谢 14楼 我打算就是先生成再一次写入·分开写入会占据读写时间
mstlq 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 mstlq 的回复:]
以下代码在我电脑上耗时
C/C++ code
Process returned0 (0x0) execution time :1.453 s
Press any key tocontinue.
C/C++ code
#include<stdio.h>
#include<stdlib.h>#define IFR(i) for(data[i]='a';data[i]<='z' || data[i]=='z'+1 && (data[i]='\0',visit(data)) ;++data[i])int visit(constchar* data){return0;};int main(void)
{char*data=calloc(7,1);char i0,i1,i2,i3,i4,i5;
data[6]='\n';for(data[0]='a';data[0]<='z';++data[0])for(data[1]='a';data[1]<='z';++data[1])
IFR(2)
IFR(3)
IFR(4)
IFR(5)
visit(data);

free(data);return0;
}
[/Quote]
禁止编译器优化的话……
运行时间

Process returned 0 (0x0) execution time : 3.375 s
Press any key to continue.
mstlq 2010-01-05
  • 打赏
  • 举报
回复
如果楼主要把字符串打印在屏幕或者输出到文件,那就慢了……
因为26*26*26*26*26*26可不是个小数目,把所有字符组合输出到一个文本文件,大小都超过1.5g了……
以上还忽略了长度低于6的字符
mstlq 2010-01-05
  • 打赏
  • 举报
回复
以下代码在我电脑上耗时

Process returned 0 (0x0) execution time : 1.453 s
Press any key to continue.




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

#define IFR(i) for(data[i]='a';data[i]<='z' || data[i]=='z'+1 && (data[i]='\0',visit(data)) ;++data[i])

int visit(const char* data){return 0;};

int main(void)
{
char *data=calloc(7,1);
char i0,i1,i2,i3,i4,i5;
data[6]= '\n';
for(data[0]='a';data[0]<='z';++data[0])
for(data[1]='a';data[1]<='z';++data[1])
IFR(2)
IFR(3)
IFR(4)
IFR(5)
visit(data);

free(data);

return 0;
}
清风道禅 2010-01-05
  • 打赏
  • 举报
回复
谢谢大家,我确实菜
嗯现在详细描述下:
需求:一次性生成 aa-zzzzzz中所包含的字符串(aa,ab,ac.. aaa,aab,aac..zzzzzz),只要小写的就OK 不要数字(其实就是生成密码字典的那个)
我个人测试了就是太慢了·我用得递归..所以我想找一个好的算法 更高效生成我要得字符串列表.
我与别人的字典生成工具做过比较,真的差距太远了,所以才来求大伙帮忙.
希望高手赐教,最高能给出算法和思路(脑袋不怎么好使,自己弄了1天了,有点思维定势了)
谢谢大家

  • 打赏
  • 举报
回复
不知道你说的效率要求如何,但是考虑用递归的话,是蛮简单的,当然效率没那么好。



void swap(char *str1,char *str2)
{
char temp;
temp=*str1;
*str1=*str2;
*str2=temp;
}

void permStr(char *str,int i)
{
//printf("%d",i);
if(i==strlen(str)-1)
printf("%s\n",str);
else
{
for(int j=i;j<strlen(str);j++)
{
//printf("i %d,j %d",i,j);
swap(&str[i],&str[j]);
permStr(str,i+1);
swap(&str[i],&str[j]);
}
}
}

void main()
{
char str[]={"abcde"};

permStr(str,0);

}

z569362161 2010-01-04
  • 打赏
  • 举报
回复
#include <stdio.h> 
#define N 26
char *lword="abcdefghijklmnopqrstuvwxyz",word[N];
int k=0,M;
unsigned long long total=0;
void Chose(int a1,int a2)
{
int i;
if(0==a2){
for(i=0;i <M;i++)
printf("%c",word[i]);
printf("\n");
total++;
return;}
for(i=a1;i <N;i++)
{
word[k++]=lword[i];
Chose(a1+1,a2-1);
k--;
}
}
int main(void)
{
M=2;
for(M=2;M <=6;M++)
Chose(0,M);
printf("total=%llu\n",total); //穷举数
getchar();
return 0;
}


你可真菜,到现在还没学会
selooloo 2010-01-04
  • 打赏
  • 举报
回复
上面没贴好

#include <stdio.h>
#include <string.h>
#define N 26
char *lword="abcdefghijklmnopqrstuvwxyz",word[N];
int k=0,M;
unsigned long long total=0;
void Chose(int a1,int a2)
{
int i;
if(0==a2){
for(i=0;i<M;i++)
printf("%c",word[i]);
printf("\n");
total++;
return;}
for(i=a1;i<N;i++)
{
word[k++]=lword[i];
Chose(a1+1,a2-1);
k--;
}
}
int main(void)
{
M=2;
for(M=2;M<=6;M++)
Chose(0,M);
printf("total=%llu\n",total); //穷举数
getchar();
return 0;
}
selooloo 2010-01-04
  • 打赏
  • 举报
回复
不知道这个是不是你要的,穷举到6的话,结果非常的大,要计算挺长时间
[code=C/C++]
#include <stdio.h>
#define N 26
char *lword="abcdefghijklmnopqrstuvwxyz",word[N];
int k=0,M;
unsigned long long total=0;
void Chose(int a1,int a2)
{
int i;
if(0==a2){
for(i=0;i<M;i++)
printf("%c",word[i]);
printf("\n");
total++;
return;}
for(i=a1;i<N;i++)
{
word[k++]=lword[i];
Chose(a1+1,a2-1);
k--;
}
}
int main(void)
{
M=2;
for(M=2;M<=6;M++)
Chose(0,M);
printf("total=%llu\n",total); //穷举数
getchar();
return 0;
}code]
烈火蜓蜻 2010-01-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zym830828 的回复:]
都穷举了还要咋高效。。
[/Quote]

呵呵,深有同感
加载更多回复(5)
二分查找1.c 二分查找2.c 二叉树.c 其它 单元加 单循环链表.c 单链表.c 图.c 字符 定长串.c 小写数字转为大写数字 带头结点双链循环线性表.c 底层编程 效验算法 数学问题 数据结构 数组 文件程序 进制 汉诺塔 硬币情况 逆阵 链串.c 链栈.c 链队列.c 问题算法 顺序栈.c 顺序表.c 顺序队列.c ./其它: c语言窗体实例.zip 傻瓜递归.c 冒泡法改进.c 小字库DIY-.c 小字库DIY.c 小白鼠钻迷宫.c 扫描码.C 挽救软盘.c 汉字字模.c 神经元模型.c 穷举搜索法.c 简单数据库.c 编程汉字问题.txt 编随机数.c 试题.C 递堆法.C ./单元加: erre2.c erre.c 数组完全单元.c 栈单元加.c ./字符: 单词倒转.c 反出字符.c 回文.c 字符串查找.c 字符编辑.c 字符编辑技术(插入和删除) .c ./小写数字转为大写数字: 小写数字转换成大写数字1.c 小写数字转换成大写数字2.c 小写数字转换成大写数字3.c ./底层编程: asm.c C标志符命名源程序.c ping.c winsock2.c 时间陷阱.c 检出错误.c 检测鼠标.c ./效验算法: C.BAT CMCRC.COM Crctable.c ./数学问题: 乘法矩阵.c 凉东问题 十五人排序.c 叠代整除.c 四分砝码.c 圆周率 多阶乘2.c 多阶乘.c 大加数.c 大小倍约.c 大整数.c 完数.c 小孩分糖果.c 小明买书 平方根.c 数学算法 桃子猴问题 灯塔问题.c 百鸡百钱.c 简单计算器.c 苹果纠纷 递推.c 逻辑移动.c 阶乘递归.c 阿姆斯特朗数.c 黑白.c ./数学问题/凉东问题: 32.c re.c 数组递归退出2.c 数组递归退出.c ./数学问题/圆周率: 圆周率.c 狐狸圆周率.cpp ./数学问题/小明买书: 小明买书.c 小明买书.cpp ./数学问题/数学算法: 余弦曲线.c 余弦直线.c 符号图形.c 绘制圆.c ./数学问题/桃子猴问题: _notes 乘方函数桃子猴.c 桃子猴.c 猴子和桃.c 递归桃猴.c 题目.txt ./数学问题/桃子猴问题/_notes: ./数学问题/苹果纠纷: ff.c 苹果分法.c ./数据结构: 二叉排序树.c 二叉树实例.c 单链表 双链表正排序.c 各种排序法.c 哈夫曼算法.c 哈慢树.c 大整数.c 建树和遍历.c 排序法.c 推箱子.c 数据结构2.c 数据结构3.c 数据结构.c 无向图.c 栈操作.c 线性顺序存储结构.c 线索化二叉树.c 迷宫.c 迷宫问题.c 逆波兰计算器.c 递归车厢.c 队列.c ./数据结构/单链表: ww.c 冒泡排序.c 单链表1.c 单链表2.c 单链表.c 单链表倒序.c 单链表的处理全集.c 建立链表1.c 节点.c 质因子.c 链表十五人排序.c 链表(递归).c ./数组: 数字移动.c 数组操作.c 杨辉三角形.c 桶排序.c 矩阵转换.c 螺旋数组1.c 螺旋数组2.c ./文件程序: 实例1.c 实例2.c 实例3.c 文件加密.c 文件复制.c 文件连接.c 自我复制.c 读写文本文件.c 输出自已.c ./进制: 16进制10进制.c 二进制数2.c 二进制数.c ./汉诺塔: 四塔1.c 四塔2.c 换递归.c 汉诺塔2.c 汉诺塔.c 诺汉塔画图版.c 非递归.c ./硬币情况: for循环的.c 硬币分法.c ./逆阵: 简单逆阵.c 逆矩阵.c 逆阵.c ./问题算法: N皇后问题回溯算法.c 万年历 动态计算网络最长最短路线.c 矩阵乘法动态规划.c 网络最短路径Dijkstra算法.c 货郎担分枝限界图形演示.c 货郎担限界算法.c 骑士遍历 ./问题算法/万年历: 万年历.c 万年历的算法 .c ./问题算法/骑士遍历: 骑士遍历1.c 骑士遍历2.c 骑士遍历回逆.c
16进制10进制.txt 32.txt asm.txt Crctable.txt C标志符命名源程序.txt erre.txt erre2.txt ff.txt for循环的.txt list.log N皇后问题回溯算法.txt ping.txt re.txt source.txt winsock2.txt ww.txt 万年历.txt 万年历的算法 .txt 乘方函数桃子猴.txt 乘法矩阵.txt 二分查找1.txt 二分查找2.txt 二叉排序树.txt 二叉树.txt 二叉树实例.txt 二进制数.txt 二进制数2.txt 余弦曲线.txt 余弦直线.txt 傻瓜递归.txt 冒泡排序.txt 冒泡法改进.txt 动态计算网络最长最短路线.txt 十五人排序.txt 单循环链表.txt 单词倒转.txt 单链表.txt 单链表1.txt 单链表2.txt 单链表倒序.txt 单链表的处理全集.txt 双链表正排序.txt 反出字符.txt 叠代整除.txt 各种排序法.txt 哈夫曼算法.txt 哈慢树.txt 四分砝码.txt 四塔1.txt 四塔2.txt 回文.txt 图.txt 圆周率.txt 多阶乘.txt 多阶乘2.txt 大加数.txt 大小倍约.txt 大整数.txt 字符串查找.txt 字符编辑.txt 字符编辑技术(插入和删除) .txt 完数.txt 定长串.txt 实例1.txt 实例2.txt 实例3.txt 小写数字转换成大写数字1.txt 小写数字转换成大写数字2.txt 小写数字转换成大写数字3.txt 小字库DIY-.txt 小字库DIY.txt 小孩分糖果.txt 小明买书.txt 小白鼠钻迷宫.txt 带头结点双链循环线性表.txt 平方根.txt 建树和遍历.txt 建立链表1.txt 扫描码.txt 挽救软盘.txt 换递归.txt 排序法.txt 推箱子.txt 数字移动.txt 数据结构.txt 数据结构2.txt 数据结构3.txt 数组完全单元.txt 数组操作.txt 数组递归退出.txt 数组递归退出2.txt 文件加密.txt 文件复制.txt 文件连接.txt 无向图.txt 时间陷阱.txt 杨辉三角形.txt 栈单元加.txt 栈操作.txt 桃子猴.txt 桶排序.txt 检出错误.txt 检测鼠标.txt 汉字字模.txt 汉诺塔.txt 汉诺塔2.txt 灯塔问题.txt 猴子和桃.txt 百鸡百钱.txt 矩阵乘法动态规划.txt 矩阵转换.txt 硬币分法.txt 神经元模型.txt 穷举搜索法.txt 符号图形.txt 简单数据库.txt 简单计算器.txt 简单逆阵.txt 线性顺序存储结构.txt 线索化二叉树.txt 绘制圆.txt 编随机数.txt 网络最短路径Dijkstra算法.txt 自我复制.txt 节点.txt 苹果分法.txt 螺旋数组1.txt 螺旋数组2.txt 试题.txt 诺汉塔画图版.txt 读写文本文件.txt 货郎担分枝限界图形演示.txt 货郎担限界算法.txt 质因子.txt 输出自已.txt 迷宫.txt 迷宫问题.txt 逆波兰计算器.txt 逆矩阵.txt 逆阵.txt 递堆法.txt 递归桃猴.txt 递归车厢.txt 递推.txt 逻辑移动.txt 链串.txt 链栈.txt 链表十五人排序.txt 链表(递归).txt 链队列.txt 队列.txt 阶乘递归.txt 阿姆斯特朗数.txt 非递归.txt 顺序栈.txt 顺序表.txt 顺序队列.txt 骑士遍历1.txt 骑士遍历2.txt 骑士遍历回逆.txt 黑白.txt
尹成Python27天从入门到实战项目!全课665节讲解详细易操作,助力实战项目能力成长,轻松、简单、易懂!day1  python入门与学习方法精确思维与用到才能记忆深刻课程简介课前介绍计算机简介与硬盘概念内存作用计算机小结编程语言简介操作系统简介python版本简介切换python版本修改环境变量交互式编程两种风格python3代码保存必须是utf-8使用IDE了解注释段落打印三引号注释多行三个单引号python代码要严格对齐中文输入字符错误简单数学表达式代码风格三种错误风格系统执行指令运行结果乱码交互式编程绘图绘制线段与圆形改变颜色绘制奥运五环小结习题day1plus python  常量变量数据类型 常量与变量区别标识符关键字输入输出id地址type类型python变量是地址赋值可以改变类型python主要数据类型复数数据类型自适应变长整数intdel作用连续赋值交互对称赋值字符串转化与输入输出编程wmv多行拆分多行归并成一行规范用的常量算术运算符科学计数法与数字越界优先级结合性赋值运算符数据类型转换四舍五入数据提取时间处理作业day2   python字符串与绘图复习变量None变量参与运算没有赋值的情况不会改变绘制立方体绘制五角星时间计算强化实现贷款计算连续输入多个字符串加法与绘图实现显示线段长度数据函数使用快速查阅函数帮助字符串三种风格字符与编号中文字符编号问题字符编号用途统一码转义字符意义转义字符用于字符串print高级用法字符串加法与转换字符串小结python中所有的数据都是对象字符串格式化了解进制图形绘制重点作业以及学习认知方法day3   python运算符与ifelse逻辑语句第一天上午回顾第二天下午回顾1第二天回顾2.7习题解答2.11习题解答2.26作业KaliLinux简介3.4实现五边形面积计算3.7随机字符生成3.8实数误差与四舍五入3.18解答与特殊字符if简介与空格的作用if处理的是逻辑表达式关系运算符针对数值字符串的关系运算符if自动转化Bool类型随机数if缺点且运算符或运算符取反运算符短路效应身份运算符运算符优先级结合性概览pass语句潜台词翻译系统None用途指令翻译系统嵌套嵌套与elif对比以及注意细节习题解答绘图作业与重点day4  语音合成与逻辑循环回顾语音合成简单理解while控制次数WhileElseWhileElse实战whileFloat回顾与ifelse表达式赌博概率分类设计方法-一元二次方程嵌套有序3个数闰年计算矩形区域随机数ifelse回文数判断10进制转化16进制16进制转十进制暴力穷举无限循环指令循环同步异步黑科技读写内存读写内存无限循环监测重点与作业day5  复杂逻辑循环while与whileelse编程风格循环控制图形绘制while猜数字输入输出重定向while习题分析可以退出的命令系统for初步简介跑分流程结合for循环小结forfor嵌套forfor分析break中断循环contiune结束本次循环双层循环的break与continue分析break与contiue小结一闪一闪亮晶晶循环控制大小与置对角线绘制圆形口顺时针运动循环等价作业与小结day6  函数实战回顾.算学费输入数据最大精确划分思维解决最大次大交换数据实现按行显示围棋棋盘绘制国际象棋绘制为什么要用函数函数的四种类型函数的一般形式必须用函数的理由-哥德巴赫函数的本质就是地址函数变量意义函数变量用途装饰器设计模式包含模式函数概念None函数默认参数与返回值作为参数名称参数与置参数参数副本机制副本练习多个返回值全局变量与局部变量函数内部引用全局变量函数可以嵌套nolocal处理函数嵌套变量函数nonlocalnonlocal总结开房数据查询day7      函数实战与常用数据结构函数的两种类型函数的本质再分析函数地址切换切换功能ifelse配合地址筛选函数收费函数调用过程函数基本小结return小结置参数与默认参数混合参数填充混合填充错误情况lambda匿名函数可变长函数字符串常识普及字符串特点字符串不可以修改内部字符list列表list用途tuple简介集合运算字典概念in与notin运算符构造表达式转换数据类型系统小结拓展查询作业day8   字符串实战简单回顾eval与exec简介字符串的简单规范字符串的截取字符串赋值规范字符串转义字符字符串常见运算符字符串格式化字符串格式化强化字符串编码简介dir与help查看str字符串函数第一个大写以及字符串居中显示打印金字塔count统计字符串出现个数字符串编码注意事项解码失败判断字符串以什么为结束tab键转换find函数与rfind函数day9   字符串高级简单回顾..eval与exec简介字符串的简单规范字符串的截取字符串赋值规范字符串转义字符字符串常见运算符字符串格式化字符串格式化强化字符串编码简介dir与help查看str字符串函数第一个大写以及字符串居中显示打印金字塔count统计字符串出现个数字符串编码注意事项解码失败判断字符串以什么为结束tab键转换find函数与rfind函数index函数与rindex函数字符串判断字符串间隔长度以及左右填充字符串大小写取出最大最小字符替换去除空格简单切割换行切割判断开头大小写切换以及填充0翻译表.字符串模板小结day10  字符串集合与语音识别实战回顾lset初始化风格set增加与去重set删除元素遍历set类型转化set无法操作单个元素的赋值set常见方法set常见运算符set关系运算符判断包含set集合判断frozenset字典的基本定义循环字典判断在不在实现插入与更新字典删除字典详解字典与set无法嵌套迭代器列表生成式生成器生成器节省内存用于循环生成器yield作用生成器简介测试游戏简介游戏初级修改键盘模拟语音控制游戏实现鼠标模拟代码规范函数简化重用列表与元组小结作业day11  阶段综合练习昨日回顾.堆栈函数模块引用系统模块引用与错误列表生成式的若干方法生成矩阵str与reprpython把输入输出设备当作文件处理写入中文写入英文读取中文读取英文读取错误写入错误处理文件缓存区文件读取若干种方式for循环按行读取数据文件指针seektell数据结构与文件的交互数据查询并保存结果数据查询小结与数据day12downwithoutdata  数据处理开发大数据指令数据清洗的概念初级数据清洗密码排序次数统计QQ密码概率分布QQ号码分类器.开房数据清洗..区域划分省份划分年龄月份划分日划分day12up  数据实战简单回顾12系统默认编码中文编码常见错误字符串切割抓取邮箱抓取用户名与密码排序密码文件统计次数排序.统计文件密码次数密码次数排序day13withoutdata  数据分类与list深入地区分类详解字典分类器数据简单归并数据如何切割数据加密数据解密指令执行判断文件夹编程小结列表归并-删除列表归并-下标小结与作业day14down   面向对象编程与深浅拷贝面向对象与过程的差异self用途动态绑定增加属性方法重载运算符的概念有名对象与匿名对象重载运算符的返回值重载运算符多个类型类的拷贝是浅复制深浅拷贝函数调用参数副本原理函数调用可以改变list的元素不可以改变list指向对象当作参数的细节私有变量私有变量用于设计权限私有方法用于设计权限私有变量本质用类的方式读取文件行数密码次数归并数据处理方法简介今日小结作业wmvday14up  暴力穷举与类回顾....排列组合暴力生成穷举密码密码破解必破生成器密码破解小结为啥使用类-代码重用类的一般形式详解self构造函数与析构函数构造函数初始化类的属性最简洁的UI设定窗体的置以及大小类的实际用途day15down  面向对象数据搜索实战输入处理文本编辑器表格数据树状显示数据搜索可视化第一步实现查询窗体数据搜索可视化第二步实现搜索数据数据搜索可视化第三步实现显示窗体数据可视化第四步显示与搜索串联数据可视化终结作业小结day15up  面向对象设计与图像界面上设计一个类发短信类的方法设计一下短信发送邮件类的设计-设计发邮件类的多文件引用腾讯营销类的设计消息循环消息回掉函数机制lambda按下按钮标签显示文本文本输入框listcombobox选择列表day16up  面向对象与图形界面开发下设计一个类发短信类的方法设计一下短信发送邮件类的设计-设计发邮件类的多文件引用腾讯营销类的设计消息循环消息回掉函数机制lambda按下按钮标签显示文本文本输入框listcombobox选择列表day17  面向对象继承实战昨日小结.,.继承的概念多继承的概念多继承的覆盖私有变量不可以被继承Object类类的常见属性super解决父类重复初始化isinstance多态静态方法类方法数据工具1类的继承数据工具实现小结day18down  正则表达式正则表达式bB贪婪与非贪婪标签.标签解决提取标签名称提取QQ生成邮箱列表工具简单正则表达式编写常见的正则表达式复杂正则表达式编写复杂表达式代码验证作业与小结day18up 正则表达式实践为什么使用正则表达式正则表达式匹配.预编译的概念搜索技能搜索用在找出第一个邮箱手机提取findall字符串切割筛选正则表达式正则表达式替换单个字符判断中括号选择一个字符正则表达式次数正则开头结尾括号与选择正则表达式特殊符号day19down 递归与爬虫实战函数递归模拟文件树文件树事件读取网页抓取邮箱抓取QQ提取http抓取邮箱简单程序框架实现抓取邮箱的框架核心两个函数完成广度遍历深度遍历作.业day19up 深度遍历与广度遍历正则表达式小结最简单递归递归顺序递归和递归腾讯台阶面试题文件夹的函数遍历文件夹遍历文件夹有层次感栈模拟递归栈模拟递归遍历文件夹栈模拟递归遍历文件夹层次感普及网站提取概念栈修改的逻辑错误广度遍历 day20 正则 爬虫实战行情简介提取页面信息提取股票代码提取股票代码下载功能下载股票批量下载股票抓取1页的股票数据抓取多个页面的股票抓取基金信息作业day21  网络编程与信息安全网络概念UDP协议UDP通信UDP远程控制TCP通信TCP控制测试网站后台网站密码破解作业 day22down  线程通信线程通信线程通信强化线程condition高级线程调度生产者消费者线程池延时线程with作用前台进程后台进程TLS线程独立存储作业day22up  多线程实战多线程核心目标并发主线程与小弟线程多线程解决加速多线程的加速线程冲突基于类实现多线程基于类实现多线程的顺序与乱序互斥锁解决线程冲突死锁-使用锁要注意Rlock解决一个线程反复加锁单线程死锁创建线程的三种风格信号量限制线程数量限定线程数量day23  多进程实战多线程回顾多进程拷贝代码多进程拷贝全局变量获取进程编号subprocess执行LinuxShell信号Linux进程小结__name__进程mutiprocessing创建过程join作用进程不可以用全局变量共享数据进程同步进程pipe发送接收数据进程队列进程队列传输数据进程共享数据进程之间共享数组进程共享字典与list简单小结day23down  多进程多线程综合实战读取CSV写入csv单线程统计行数多线程统计行数多进程统计行数多线程检索数据第一步多线程检索赵琳多线程检索找到通知其他人退出多线程检索开放数据并保存同一个文件作业day24up  多进程多线程综合实战多进程检索第一步多进程检索开房数据平均市值多线程解决平均市值多进程统计平均市值单线程BFS抓取邮箱多线程并行抓取邮箱多线程采集邮箱并保存csv归并多线程归并文件day25down 文件格式处理doc处理系统处理doc与docx文件处理的小结读取并写入xls与xlsx读取网络pdf中文pdftelnet简介登陆Linux登陆Windows小结day25up  时间编程与单元测试时间的简单风格时间格式化抓取年月日计算时间差时间函数计算时间差date小结python2与3的差异内置函数筛选内置函数map内置的函数sorted新浪数据抓取实时文档测试单元测试函数单元测试一个类day26  综合实战播放音乐设置背景鬼程序协程简介协程传递数据wmv协程编号协程生产者消费者模式office自动化操作wordoffice办公自动化操作exceloffice办公自动化操作outlookoffice办公自动化access开发环境配置访问mdb格式访问accdb格式实现CGI程序显示页面环境变量cgi处理前后端day26down  破解wifi实战扫描wifi扫描网卡区分链接成功或者失败wifi密码爆破工具设计Linux破解简介day27down  飞机大战实战命令行下脱裤创建一个pygame窗体窗体加载背景图片处理消息飞机移动实现基本框架飞机框架飞机销毁双机对战双机对战加载子弹双机与敌机出现发射子弹day27up  数据库实战jython的安装MySQL简介数据库的一般操作MySQL数据类型数据表的创建于删除数据的查询数据的插入数据的删除数据的更新联合查询字段一致数据查询排序排序与分组join与nullmysql用python编程查询数据python数据库增删查改项目简介other  异常与错误综合练习异常与错误的概念作业tryexcept解决异常不出错继续执行密码破解工具进攻数据库爆破mysql异常else异常处理的标准公式弹出异常withas类中使用异常继承自定义异常断言密码工具设计三个独立的类密码工具2类链接3类密码工具1类链接3类密码工具分析作业speech   语音识别问题解决语音识别解决None
16进制10进制.txt 32.txt asm.txt Crctable.txt C标志符命名源程序.txt erre.txt erre2.txt ff.txt for循环的.txt list.log N皇后问题回溯算法.txt ping.txt re.txt source.txt winsock2.txt ww.txt 万年历.txt 万年历的算法 .txt 乘方函数桃子猴.txt 乘法矩阵.txt 二分查找1.txt 二分查找2.txt 二叉排序树.txt 二叉树.txt 二叉树实例.txt 二进制数.txt 二进制数2.txt 余弦曲线.txt 余弦直线.txt 傻瓜递归.txt 冒泡排序.txt 冒泡法改进.txt 动态计算网络最长最短路线.txt 十五人排序.txt 单循环链表.txt 单词倒转.txt 单链表.txt 单链表1.txt 单链表2.txt 单链表倒序.txt 单链表的处理全集.txt 双链表正排序.txt 反出字符.txt 叠代整除.txt 各种排序法.txt 哈夫曼算法.txt 哈慢树.txt 四分砝码.txt 四塔1.txt 四塔2.txt 回文.txt 图.txt 圆周率.txt 多阶乘.txt 多阶乘2.txt 大加数.txt 大小倍约.txt 大整数.txt 字符串查找.txt 字符编辑.txt 字符编辑技术(插入和删除) .txt 完数.txt 定长串.txt 实例1.txt 实例2.txt 实例3.txt 小写数字转换成大写数字1.txt 小写数字转换成大写数字2.txt 小写数字转换成大写数字3.txt 小字库DIY-.txt 小字库DIY.txt 小孩分糖果.txt 小明买书.txt 小白鼠钻迷宫.txt 带头结点双链循环线性表.txt 平方根.txt 建树和遍历.txt 建立链表1.txt 扫描码.txt 挽救软盘.txt 换递归.txt 排序法.txt 推箱子.txt 数字移动.txt 数据结构.txt 数据结构2.txt 数据结构3.txt 数组完全单元.txt 数组操作.txt 数组递归退出.txt 数组递归退出2.txt 文件加密.txt 文件复制.txt 文件连接.txt 无向图.txt 时间陷阱.txt 杨辉三角形.txt 栈单元加.txt 栈操作.txt 桃子猴.txt 桶排序.txt 检出错误.txt 检测鼠标.txt 汉字字模.txt 汉诺塔.txt 汉诺塔2.txt 灯塔问题.txt 猴子和桃.txt 百鸡百钱.txt 矩阵乘法动态规划.txt 矩阵转换.txt 硬币分法.txt 神经元模型.txt 穷举搜索法.txt 符号图形.txt 简单数据库.txt 简单计算器.txt 简单逆阵.txt 线性顺序存储结构.txt 线索化二叉树.txt 绘制圆.txt 编随机数.txt 网络最短路径Dijkstra算法.txt 自我复制.txt 节点.txt 苹果分法.txt 螺旋数组1.txt 螺旋数组2.txt 试题.txt 诺汉塔画图版.txt 读写文本文件.txt 货郎担分枝限界图形演示.txt 货郎担限界算法.txt 质因子.txt 输出自已.txt 迷宫.txt 迷宫问题.txt 逆波兰计算器.txt 逆矩阵.txt 逆阵.txt 递堆法.txt 递归桃猴.txt 递归车厢.txt 递推.txt 逻辑移动.txt 链串.txt 链栈.txt 链表十五人排序.txt 链表(递归).txt 链队列.txt 队列.txt 阶乘递归.txt 阿姆斯特朗数.txt 非递归.txt 顺序栈.txt 顺序表.txt 顺序队列.txt 骑士遍历1.txt 骑士遍历2.txt 骑士遍历回逆.txt 黑白.txt

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧