mirror of
https://github.com/wahyd4/wahyd4.github.com.git
synced 2026-08-10 05:47:00 +10:00
- 308 posts reverse-extracted from wahyd4.github.com (Hexo 6.3.0 + NexT 8.25) - Hexo project with NexT theme, reading-experience custom styles - publish-post.sh: write post -> hexo build -> PR (master untouched)
96 lines
2.3 KiB
Markdown
96 lines
2.3 KiB
Markdown
---
|
||
title: "数据结构作业:顺序表简单应用"
|
||
date: 2010-11-13 00:00:00
|
||
---
|
||
|
||
今天算是比较用心的在电脑勉强做作业吧,但是毕竟不怎么喜欢写c/c++的代码,已经习惯用java了,觉得java写起来很舒服,所以做这个作业做了很久,至少3个小时吧。这学期现在还是第一次用心地做数据结构作业,代码经过调试可以完美运行,可是没有考虑运行的效率,和时间复杂度等等,等我有空的时候再来调试吧。可能写的不太符合规范,我本来想分模块话写,可是怎么也实现不了想要的功能,于是我就全部写在main函数里面了,算是完全面向过程吧,技术大牛不要笑哦,想要借鉴的同学完全可以拿去,代码保证正确。
|
||
|
||
#include
|
||
using namespace std;
|
||
|
||
struct list
|
||
{
|
||
int tlist[50];
|
||
int size;
|
||
};
|
||
int main()
|
||
{
|
||
int temp;
|
||
int innum,delnum;
|
||
int flag;
|
||
|
||
void printList(list l);
|
||
|
||
list t;
|
||
cout< <”请输入你想要的链表长度:”< cin>>t.size;
|
||
|
||
cout< <”请输入链表”< for(int i=0;i cin>>t.tlist[i];
|
||
}
|
||
|
||
for(int j=0;j< (t.size-1);j++){
|
||
for(int k=j+1;k if(t.tlist[j]>t.tlist[k]){
|
||
temp=t.tlist[j];
|
||
t.tlist[j]=t.tlist[k];
|
||
t.tlist[k]=temp;
|
||
}
|
||
}
|
||
}
|
||
cout< <”排序后的链表为”< printList(t);
|
||
|
||
cout<<”情输入你想插入的数:”< cin>>innum;
|
||
|
||
if(innum>t.tlist[t.size-1]){
|
||
//要插入的数最大
|
||
t.tlist[t.size]=innum;
|
||
}else{
|
||
//要插入的数最小
|
||
if(innum flag=-1;
|
||
}else{
|
||
//要插入的数在中间
|
||
for( int m=0;m if(innum>t.tlist[m]&&innum flag=m;//取得要插入数所在位置,flag为比插入数的前一个位置
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
for(int k=t.size-1;k>flag;k–){
|
||
t.tlist[k+1]=t.tlist[k];
|
||
|
||
}
|
||
t.tlist[flag+1]=innum;
|
||
}
|
||
|
||
t.size=t.size+1;//将顺序链表长度加1
|
||
printList(t);
|
||
|
||
cout< <”请输入你想删除的数”< cin>>delnum;
|
||
for(int a=0;a if(delnum==t.tlist[a]){
|
||
cout<<”发现你想要删除的数,正在删除…”< if(delnum==t.tlist[t.size]){
|
||
t.size=t.size-1;
|
||
}else {
|
||
|
||
for(int b=a;b t.tlist[a]=t.tlist[a+1];
|
||
}
|
||
t.size=t.size-1;//删除成功长度减一
|
||
}
|
||
}
|
||
}
|
||
printList(t);//输出最终数据;
|
||
system(“pause”);
|
||
return 0;
|
||
|
||
}
|
||
|
||
void printList(list l)
|
||
|
||
{
|
||
|
||
cout<<”顺序链表为”<
|
||
|
||
for(int j=0;j
|
||
|
||
cout<
|
||
|
||
}
|
||
|
||
}
|