标签归档 C语言

通过seo圣人

数据结构与算法视频讲解(郝斌)

学完汇编基础、C语言基础之后,下一个该学习的就是数据结构和算法,这里和大家分享一下郝斌老师主讲的数据结构和算法,本课程为高清视频版本,同时也带有课后作业及源码。

学习郝斌的数据结构与算法需要结合《数据结构-C语言版》作者严蔚敏、吴伟民合著的这本书来学习,有条件的最好去买这本书,当然了,我分享了这本书的扫描版本给大家。

《数据结构与算法视频讲解》分为两部分,第一部分为《郝斌数据结构自学视频第一课-第60课》、第二部分为《郝斌数据结构自学视频第61课-第78课》。

《数据结构(C语言版)》主要分为以下大章节:
第章:绪论
第章:线性表
第章:栈和队列
第章:串
第章:数组和广义表
第章:树和二叉树
第章:图
第章:动态内存管理
第章:查找
第章:内部排序
第章:外部排序
第章:文件
附录A:名词索引
附录B:函数索引
参考书目

这本书是为数据结构课程编写的教程,也可以作为学习数据结构及其算法的C程序设计的参考教材,书中的前半部分从抽象数据类型的角度讨论各自基本类型的数据结构及其应用,后半部分主要讨论查找和排序的各种实现方法及其综合性的研究,郝斌讲解的C语言版的数据结构与这本书上的内容是一致的,非常适合自学的朋友。

《郝斌C语言版数据结构视频讲解》全集下载链接:

链接: https://pan.baidu.com/s/16Yx7wz4eMdfbIRXcs4aegg 
提取码: dtc2

通过seo圣人

C语言和pyhon语言用递归算法计算1到1000的值

C语言使用递归算法计算从1加到1000的值,代码如下:

#include<stdio.h>
int sum(int n)
{
	int s;
	if(n==1)
	{
		s=1;
	}
	else
	{
		s=n+sum(n-1);
	}
	return (s);
} 

main()
{
	int i=100; 
	int j;
	j=sum(i);
	printf("result:%d",j);
}

Python语言使用递归算法计算从1加到1000的值,代码如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
'''
申明一个递归函数
'''
def sum(n):
    if (n == 1):
        s=1
    else:
        s = n + sum(n-1)
    return s

i = 1000 
j = sum(i)
print (j)

以上两段代码就是递归算法用C语言和Python两种语言的写法,从代码上看,Python语言的写法貌似更简单,单可读性比较差,C语言代码量略大,单比较容易读懂。

通过seo圣人

C#去掉button按钮的边框线

在用C#编写的软件里面,按钮用的是背景图,有一个问题就是图片按钮带了C#的背景和边框,这样看起来感觉很不爽,那么,怎么去button自带的边框和背景色呢?

第一种方法:Winform的话,设置FlatStyle为Flat,并且设置FlatAppearance下的BorderSize为0.

第二种方法:系统自带的按钮无法去除边框。重写按钮的OnPaint事件

class newbtn : System.Windows.Forms.Button //继承之系统按钮控件


{
 

protected override void OnPaint(PaintEventArgs e)
{//重写



 

base.OnPaint(e);
System.Drawing.Pen pen = new Pen(this.BackColor, 3);
e.Graphics.DrawRectangle(pen, 0, 0, this.Width, this.Height);//填充


pen.Dispose();
 
}
}

然后将designer。cs文件中你要修改的按钮重新继承至newbtn就可。

去除按钮的背景色其实很简单,只需要按下图的设置即可,找到Flatstyle,把属性设置为flat即可,如下图所示:

下面是按上述设置之后的样子,边框和背景都没了,按钮使用的是透明色:

通过seo圣人

C#编写软件怎样删除dataGridView的第一列?

在用C#编写软件的过程中因为需要用到dataGridView这个控件,默认情况是这样显示的:

第一列等于是什么都没有,但是他默认就是存在,我们怎样才能删除或者隐藏dataGridView的第一列呢?查阅了下手册,发现解决方法还是挺简单的,我们只需要将RowHeadersVisible设置为false即可,代码如下:

dataGridView1.RowHeadersVisible = false;//隐藏第一列

还有一个问题,如果dataGridView控件直接显示从数据库的查询结果,里面有的字段数据比较长,有的比较短,我们怎样把表格的列宽设置成自适应列宽呢?请看下面的代码:

dataGridView1.AutoResizeColumns();//自适应列宽

从数据库读出来的数据,每个字段都是英文的,这也导致了dataGridView控件表格的表头也是英文,怎样把他改成显示中文的呢?代码如下:

            dataGridView1.Columns[0].HeaderCell.Value = "编号";
            dataGridView1.Columns[1].HeaderCell.Value = "姓名";
            dataGridView1.Columns[2].HeaderCell.Value = "部门";
            dataGridView1.Columns[3].HeaderCell.Value = "显示器";
            dataGridView1.Columns[4].HeaderCell.Value = "CPU";
            dataGridView1.Columns[5].HeaderCell.Value = "内存条";
            dataGridView1.Columns[6].HeaderCell.Value = "硬盘";
            dataGridView1.Columns[7].HeaderCell.Value = "IP";
            dataGridView1.Columns[8].HeaderCell.Value = "显卡";
            dataGridView1.Columns[9].HeaderCell.Value = "主板";

下面,来段完整的例子,从数据库读取数据,然后在dataGridView控件中显示出来,并自动列宽,删除第一列的空白,代码如下:

//连接并写入数据库
            String connsql = "server=127.0.0.1;database=computer;uid=sa;pwd=1234567890"; //数据库配置

            SqlConnection sqlCont = new SqlConnection(connsql); //创建数据库连接

            if (sqlCont.State == ConnectionState.Open)         //检查连接状态
            {

                sqlCont.Close();

            }

            sqlCont.Open();   //打开数据库连接
            string strselect = "select id,name,dept,showq,cpu,memory,disk3,ip,video,BoardInfo from peizhi";
            //返回查询结果

            DataSet ds = new DataSet();

            //SqlDataAdapter dataAdpt = new SqlDataAdapter(strselect, sqlCont);  //执行查询
            SqlCommand dataAdpt = new SqlCommand(strselect, sqlCont);
            SqlDataAdapter sda = new SqlDataAdapter(dataAdpt);
            DataSet dss = new DataSet();
            sda.Fill(dss, "peizhi");

            dataGridView1.DataSource = dss;
            dataGridView1.DataMember = "peizhi";
            dataGridView1.RowHeadersVisible = false;//隐藏第一列
            dataGridView1.Columns[0].HeaderCell.Value = "编号";
            dataGridView1.Columns[1].HeaderCell.Value = "姓名";
            dataGridView1.Columns[2].HeaderCell.Value = "部门";
            dataGridView1.Columns[3].HeaderCell.Value = "显示器";
            dataGridView1.Columns[4].HeaderCell.Value = "CPU";
            dataGridView1.Columns[5].HeaderCell.Value = "内存条";
            dataGridView1.Columns[6].HeaderCell.Value = "硬盘";
            dataGridView1.Columns[7].HeaderCell.Value = "IP";
            dataGridView1.Columns[8].HeaderCell.Value = "显卡";
            dataGridView1.Columns[9].HeaderCell.Value = "主板";
            dataGridView1.AutoResizeColumns();
            sqlCont.Close();

下面展示下成功的截图: