当前位置:编程学习 > C/C++ >>

C语言程序课程设计,明天必须完成。

题目是:对顺序存储结构线性表的操作
任务:1.顺序存储结构线性表的建立:
①在Visual C++6.0环境下建立一个顺序存储结构的线性表;
②把所建立的线性表制作成头文件。
2.设计需求:
①在该线性表的第i个元素之后插入一个数据元素;
②删除该线性表的第i个元素;
③在该线性表中查找值为x的数据元素,并显示其所在线性表中的位置。



网上找的也行,自己写的也好,明天之内一定要完成的,要准确能运行的,我要交报告的,急死了。
补充:要详细的程序说明和解说,最好可以找到别人已经做好的课程设计。
分不是问题,有做的好的,我追加
追问:要点文字说明,否则我无法识别啊,而且设计书上也要求文字说明。——
#include<stdio.h>
#define MAXLEN 100
struct list{
int data[MAXLEN]
int last;
};
typedef struct list LIST;
LIST sqcrea(void){
LIST sqlist;
int i,last,x;
printf("Entet sqlist.last:");
scanf("%d",&sqlist.last);
printf("Enter sqlist.data:");
i=1;
while (i<=sqlist.last){
scanf("%d",&x);
sqlist.data[i]=x;
i++;
}
return(sqlist);
}
void outlist(LIST 1){
int i=1;
printf("Length is:%d\n",1.last);
printf("Data are:\n");
while(i<=1.last){
printf("%d",1.data[i]);
i++;
}
printf("\n");
}
答案:
#include <stdio.h>
#include <stdlib.h>

typedef struct _list {
int value;
struct _list* next;
}*node;

node Insert(node* list, int i, int value)
{
node n, t, p;
int j;
n = (node)malloc(sizeof(_list));
n->value = value;
n->next = NULL;
for(t = *list, p = NULL, j = 0; j < i; ++j)
p = t, t = t->next;
if(j == 0)
*list = n;
else
p->next = n, n->next = t;
return n;
}

node Delete(node* list, int i)
{
node t, p;
int j;
for(t = *list, p = NULL, j = 0; j < i; ++j)
p = t, t = t->next;
if(j == 0)
*list = t->next;
else
p->next = t->next;
p = t->next;
free(t);
return p;
}

int Search(node head, int value)
{
int i;
for(i = 0; head && head->value != value; ++i)
head = head->next;
return head ? i : -1;
}

node CreateList(int* beg, int* end)
{
node head;
int i;
for(head = NULL, i = 0; beg != end; )
Insert(&head, i++, *beg++);
return head;
}

void Traversal(node head)
{
while(head) {
printf("%d ", head->value);
head = head->next;
}
putchar('\n');
}


int main()
{
int a[] = {1,2,3,4,5,6,7};
node list = CreateList(a, a + sizeof(a)/sizeof(a[0]));
Traversal(list);
printf("insert at position 4: ");
Insert(&list, 4, 9);
Traversal(list);
printf("delete at position 5: ");
Delete(&list, 5);
Traversal(list);
printf("find value 3 at position: %d\n", Search(list, 3));
return 0;
}
#include <iostream.h>
#include <iomanip.h>

typedef struct Lnode
{
int data;
struct Lnode *next;
}LNode,*LinkList;

void CreateList1(LinkList &L,int n);//insert from head
void CreateList2(LinkList &L,int n);//insert from tail
void CreateList3(LinkList &L,int n);//insert by sorting number
void InsertList(LinkList L);
void DeleteList(LinkList L,int num);
void ShowList(LinkList L);
void FreeList(LinkList L);

void main()
{
LinkList H;
int num;
/*
//reverse order input
cout<<"Input the length of list:"<<endl;
cin>>num;
CreateList1(H,num);
cout<<"The List is:";
ShowList(H);
FreeList(H);*/
cout<<"Input the length of list:"<<endl;
cin>>num;
CreateList3(H,num);
cout<<"The List is:";
ShowList(H);
这种作业都是挺基础的,最后还是自己动手练下,不会花多少时间的。
那你今晚就好好做呀,到网上搜一些资料呀,其实只要你用心去做有针对性一定能做好的

上一个:汇编语言和C语言有什么联系呢?
下一个:求MD5加密算法的C语言源码

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,